需点击查找替换面板左下或右下角的.*图标激活正则模式,否则Ctrl+H/Cmd+H仅支持普通字符串搜索;Alt+R可快速切换。
怎么打开正则替换面板,不点错位置
Sublime 的正则替换不是默认开启的——你按
(Windows/Linux)或
(macOS)弹出来的只是个“普通查找替换框”,
右下角那个图标没点亮,就等于没开正则
。哪怕你写了
或
,它也只会当纯字符串去搜,根本不会匹配数字或行首行尾。
正确姿势:呼出面板后,
必须点一下左下角或右下角的图标
(部分版本在左下,部分在右下),图标变蓝才算激活;也可以直接按
切换
常见错误现象:输完
却一个都不高亮 → 八成是
没点开
全局替换(
)同样要单独点
,否则
里写的路径再准也没用
删空行、去行尾空格,为什么
反而危险
看似方便,但在 Sublime 里它会匹配换行符(
、
),导致
不仅删空行,还可能误吞只含回车符的“假空行”,甚至破坏文件末尾结构。
删真·空行(不含任何字符):
(最严格)
删含空格/Tab 的空行(推荐):
(显式限定,避开
的跨行风险)
删行尾空格+Tab:
,
别用
,否则可能吃掉末尾换行符,保存后文件少一行
执行前勾选
可限制范围,比如只处理当前选中的代码块,避免误改配置或注释
捕获组怎么写、怎么用,
和
别混了
Sublime 只认
、
这种美元符号引用法,
是无效的。而且捕获组必须出现在查找字段里,替换字段才能引用。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
提取括号内参数(如
→
):
查找:
,替换:
为什么用
而不用
?因为
在跨行或嵌套时容易“破界”,
明确表示“非右括号字符”,更安全
想加前缀?查找:
,替换:
(注意空格);想加后缀?查找:
,替换:
替换栏里写
不会换行,得写
;而搜索栏里的
才匹配真实换行符
跨文件批量替换,
里怎么写路径才不炸库
用
全局替换时,
填
就等于裸奔——
可能把你
里第三方库的
全干掉,甚至改到 README.md 里的示例代码。
精准限定路径:
(匹配
下所有
文件)
多后缀过滤:
(逗号分隔,不加空格)
排除目录:
(前面加
)
执行前务必点
,看右下角预览列表是否每条路径都合理;
没撤回键,误操作只能靠 Git 恢复
真正容易被忽略的,从来不是语法对不对,而是你没看清原始文本里有没有不可见字符、BOM、混用空格和 Tab,或者注释里藏着一模一样的模式。先小范围
,确认高亮位置全是你想要的,再动手。
Ctrl+HCmd+H.*\d+^$.*Alt+Rconsole\.log\(.*?\).*Ctrl+Shift+F.*Where\s\s\n\r^\s*$^$^[ \t]*$\s[ \t]+$\s+$In Selection$1\1getUserInfo(id)getUserInfo({ id })getUserInfo\(([^)]+)\)getUserInfo({ $1 })[^)]+.*?.*?[^)]+^// $;\n\n\nWhereCtrl+Shift+FWhere*log\(.*?\)node_modulesconsole.logsrc/**/*.jssrc.js*.ts, *.js!node_modules, !dist!Find AllReplace AllFind All