标点符号需转义才能字面匹配,如句号写为.;中文标点无需转义;替换制表符/换行符须用特殊快捷键(macOS:⌥+Tab/⌘+Enter;Windows/Linux:Ctrl+Tab/Ctrl+Enter);跨文件查找需用Ctrl+Shift+F;删空行应匹配^s*$\n而非^\s*$。

标点符号必须转义才能按字面匹配
直接输.、?、+、(、)这些符号,Sublime 默认当正则元字符处理——比如.会匹配任意字符,(会触发分组语法报错。想搜真实句号,得写成.;搜左括号,得写成(。
常见标点转义对照:
- 句号 →
. - 问号 →
? - 星号 →
* - 加号 →
+ - 左右圆括号 →
(、) - 左右方括号 →
[、] - 竖线 →
|
注意:中文标点如「。」「?」「!」「,」不用转义,可直接输入查找。
替换为制表符或换行符要按特殊键入
在 Replace 框里直接按 Tab 会跳到 Find 框,输 会被当字面字符串。macOS 下按 ⌥+Tab 才能插入真实制表符;Windows/Linux 下按 Ctrl+Tab(不是 Ctrl+Shift+Tab)。
换行符同理:不能敲回车,也不能输
—— 那只会替换成两个字符 和 n。正确做法是:
- macOS:
⌘+Enter - Windows/Linux:
Ctrl+Enter
例如把逗号批量换成制表符:Find 输入 ,(中文逗号),Replace 按 ⌥+Tab 插入制表符,再点 Replace All。
跨文件批量改标点需用 Find in Files
Ctrl+H(或 ⌘+⌥+F)只作用于当前文件。想在整个项目里把英文引号 " 换成中文引号 “”,必须用 Ctrl+Shift+F(macOS 是 ⌘+Shift+F)。
操作要点:
- 先确认右下角 .* 图标已点亮(正则模式开启)
- Where 栏填路径,如
src/**/*.js或留空查当前文件夹 - Find 输入
"([^"]*)"(记得双引号要转义为"?不,这里双引号是字面量,不用转;但若开正则且内容含元字符才需转) - Replace 输入
“$1”(注意:替换时用$1,不是) - 务必先点 Find 按钮预览匹配结果,避免误伤
替换后不会自动保存,要手动执行 File → Save All 或 ⌘+K → ⌘+B。
删空行/合并段落容易多删一个换行
搜 ^s*$ 看似能删空行,但实际会把换行符本身也吃掉,导致上下两行粘连。真正安全的写法是匹配「行首 + 任意空白 + 行尾 + 换行符」:
- 删纯空行(含空格、Tab):
^s*$→ Replace 留空 - 删完可能末尾多一个空行,再补一次
$→ Replace 留空 - 把连续多个换行压成一个:
{2,}→ Replace 输入(按⌘+Enter插入)
关键细节:正则里的
是字面换行符,不是两个字符;而 ^ 和 $ 始终锚定单行边界,除非你勾选了 . matches newline —— 那时它们行为会变,慎开。










