跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

sublime怎么使用正则替换_sublime正则表达式搜索教程

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

相关文章