在Sublime中按Ctrl+H(Win/Linux)或Cmd+H(macOS)打开替换面板,点击右下角.启用正则,注意转义、非贪婪匹配(.?)、.匹配换行需勾选选项,替换用$1语法,复杂操作须分步验证。

Sublime 里怎么打开批量替换面板
按 Ctrl+H(Windows/Linux)或 Cmd+H(macOS)直接呼出「查找与替换」面板,别去菜单里点——慢且容易误开「在文件中查找」。面板右下角有个 .* 图标,点它开启正则模式;没点就只能做纯文本替换,哪怕你写了 \d+ 也当普通字符串处理。
常见正则替换场景和写法
批量改函数名、删注释、提取变量值这些事,靠手改容易漏,用正则更稳:
- 把所有
console.log(...)换成debugger;:查找console\.log\([^)]*\);?,替换为debugger;(注意\.和\(要转义) - 删掉单行注释但保留代码:查找
\s*//.*$,替换为空;$必须加,否则可能跨行吞掉下一行开头 - 给所有未加引号的 JSON key 补双引号:查找
(\s*)([a-zA-Z_][a-zA-Z0-9_]*)\s*:,替换为$1"$2":($1是缩进,$2是 key 名)
容易踩的坑:贪婪匹配、换行、大小写
正则默认是贪婪的,.* 会吃到最远的匹配项,比如想删 /* ... */ 注释,用 /\*.*\*/ 可能吞掉中间多个注释块。改成非贪婪写法:/\*.*?\*/(加 ?)。
- 要匹配换行?默认
.不匹配换行符。勾选面板左下角的. matches newline,或改用[\s\S]替代.* - 大小写敏感默认开启。如果想忽略大小写,点面板里的
Aa图标(或加(?i)前缀,如(?i)html) - 替换时用错捕获组编号:写
$1没问题,但别写\1—— Sublime 只认美元符号语法
复杂替换建议分步验证
别一上来就全文件替换。先用 Find All 看命中的所有位置是否合理;再试 Replace 几处,确认上下文没被意外破坏;最后才点 Replace All。特别是涉及缩进、括号配对、JSON 或 JSX 结构时,一个错位的 $ 引用或漏掉的转义,可能让整个文件语法报错。
正则不是万能胶,嵌套结构(比如多层 {} 或










