VS Code 查找需手动启用正则模式(Alt+R/Cmd+R),否则^、\d+等无效;替换用$1/$2引用捕获组,非\1;$0为全匹配;(?:...)不产生编号引用;引擎基于JavaScript,不支持\K等PCRE特性。

VS Code 查找框里怎么启用正则模式
默认关闭,必须手动点开「.*」图标或按 Alt+R(Windows/Linux)/Cmd+R(macOS)才能激活正则引擎。没点这个,写再多 ^ 或 \d+ 都当普通字符串匹配。
常见错误现象:^\s*$ 找不到空行、\bfunction\b 匹配失败——八成是正则没开。
- 快捷键比点图标快,尤其批量操作时
- 开启后查找框右下角会显示
Regex标签,别只看左上角图标是否高亮 - 如果用了
?+*却没效果,先检查这个开关
替换时如何正确引用捕获组
VS Code 用 $1、$2 引用分组,不是 \1 或 $&。写错就原样输出文字,比如把 \1 当成引用,结果替换成字面的 `\1`。
使用场景:重命名函数、提取 JSON 字段、调整 import 路径。
示例:把 import { foo, bar } from './utils' 改成 import foo from './utils/foo'; import bar from './utils/bar';
查找:<code>import \{ ([^}]+) \} from '(.+)'</code>
替换:<code>import $1 from '$2/$1';</code>
-
$0表示整个匹配内容,$1是第一个()里的内容 - 如果正则里用了非捕获组
(?:...),它不产生$n,别指望能引用 - 中文或特殊符号在分组里要确保编码一致,VS Code 默认 UTF-8,一般没问题
常用但容易写错的正则语法细节
VS Code 基于 JavaScript 正则引擎,不支持 PCRE 特性(如 \K、(? 等),也不支持 <code>\Q...\E。写错就直接报红或无匹配。
性能影响:过度嵌套量词(如 (a+)+)可能卡顿,尤其大文件;尽量避免 .* 开头的贪婪匹配。
-
\d只匹配 ASCII 数字(0–9),不匹配全角数字或阿拉伯数字字符 -
\s包含换行符\n,想跨行匹配需确认「匹配整个文件」选项是否打开 - 换行符在查找中写作
\n,但替换中不能用\n表示换行(得用Enter键输入真实换行) -
[a-z]是 ASCII 小写字母,不含带重音符号的字符(如 é),需要大小写都匹配就用[a-zA-Z]或加i标志
跨文件替换时的路径和范围控制
全局替换前务必确认「文件搜索」面板中的 files to include 和 files to exclude 设置,否则可能误改 node_modules 或构建产物。
常见错误现象:替换了 dist/ 下的 JS 文件,导致线上行为异常;或漏掉某些子目录。
- 路径支持 glob 模式:
src/**/*.ts、!**/test/** - 点击「Replace All」前,先点「Find in Files」预览匹配项,尤其注意上下文是否符合预期
- 如果正则里用了
^或$,在跨行或多文件场景下含义不同——它们匹配每行首尾,不是整个文件首尾


















