VS Code代码片段正则适配:将章节标签转为小写
解决VS Code LaTeX章节标签自动转小写+替换特殊字符的问题
你之前的写法是把两次替换结果拼接起来,导致输出不符合预期。正确的做法是把替换特殊字符和转小写合并在同一个正则替换规则里。
修改后的完整代码片段如下:
"Headings | Section": { "prefix": "sec", "body": [ "\\section{${1:section_name}} % (fold)", "\t\\label{sec:${2:${1/([^a-zA-Z0-9]+)|([A-Z])/${1:+_}${2:/downcase}/g}}}", "\t$0" ], "description": "Create a new section with an automatically generated label" },
关键规则说明
正则表达式([^a-zA-Z0-9]+)|([A-Z])分两种场景处理:
- 匹配到非字母数字字符时,替换为下划线
_;${1:+_}确保只有存在匹配的特殊字符时才添加下划线,避免出现多余符号。 - 匹配到大写字母时,通过
${2:/downcase}直接转为小写。
测试示例:输入Advanced LaTeX Settings,生成的标签会是sec:advanced_latex_settings,同时满足特殊字符替换和小写转换的需求。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

