VSCode搜索支持正则表达式,需开启.*模式并注意JavaScript引擎限制;常用技巧包括转义字符、跨行搜索、捕获组替换(如$1)及匹配中文/emoji等。

VSCode 的搜索功能支持正则表达式,掌握几个关键技巧就能大幅提升查找和替换效率,尤其适合批量修改、日志分析或代码重构。
基础语法要记牢
VSCode 默认使用 JavaScript 正则引擎,不支持 \b(单词边界)的某些变体,但支持 \B、\d、\s、\w 等常用简写。注意:
- 开启正则模式:点击搜索框右侧的 .* 图标,或按
Alt+R(Windows/Linux)/Cmd+R(Mac) - 匹配换行需启用 “跨行搜索”(搜索框右下角的
↵图标),否则.不匹配换行符 - 中文、emoji、全角符号可直接写入正则,无需额外转义(如
用户名:可直接搜)
实用场景与写法示例
日常高频用法,贴合真实编辑需求:
-
找所有 console.log 并带参数的调用:
console\.log\([^)]+\)(注意点号要转义,括号用\(和\),内容用[^)]+避免跨多行误匹配) -
提取注释中的 TODO 或 FIXME:
//\s*(TODO|FIXME):?\s*(.*)(分组捕获后可在替换中用$1、$2引用) -
批量删空行或只含空白的行:
^\s*$(^和$匹配行首行尾,需开启“跨行搜索”才生效) -
匹配引号内的字符串(支持单双引号):
["']([^"']*)["'](简单场景够用;如含转义引号,建议改用更健壮的写法或分步处理)
替换时的进阶控制
替换栏也支持正则,配合捕获组让操作更精准:
- 用
$1、$2引用对应分组,比如把const x = 1;改成let x = 1;: 搜索:(const)(\s+\w+\s*=\s*.*),替换:let$2 - 想把驼峰变量
userName转成下划线user_name: 搜索:([a-z])([A-Z]),替换:$1_$2,再统一转小写(或加\L标志,但 VSCode 不支持\L,需手动或二次处理) - 替换时保留原内容的一部分?用
$&表示整个匹配项,例如给所有 URL 加前缀:https?://\S+→【链接】$&
基本上就这些。不用死记所有语法,从常用场景入手,边用边查文档,几次下来就顺手了。










