在Sublime Text中删除含关键词的整行,需用正则^.*关键词.*$并启用正则模式,注意转义元字符、开启Match Case控制大小写、关闭. matches newline防止跨行匹配。

用正则匹配并整行删除含关键词的行
Sublime Text 删除含特定词的整行,核心是「正则表达式 + 行锚定」。直接打开 Ctrl+H(Windows/Linux)或 Cmd+H(macOS),勾选 .*(启用正则),搜索框填:
^.*关键词.*$,替换框留空,点
Replace All 即可。
注意:^ 和 $ 必须加上,否则只删关键词本身,而非整行;如果关键词含正则元字符(如 .、*、+、?、[ 等),得先转义,比如删含 file.txt 的行,应写成:
^.*file\.txt.*$
区分大小写与跨行干扰问题
默认 Sublime 正则不区分大小写,若要精确匹配(如只删 Error 不删 error),需在搜索框左侧点 Aa 图标启用「Match Case」;另外,确保没误开 . matches newline(\n 图标),否则 .* 会跨多行匹配,导致意外删掉多行内容——这个选项绝大多数情况下都应该保持关闭。
-
Match Case开:匹配严格区分大小写 -
. matches newline关:避免.*吞掉换行符,保证单行匹配 - 若关键词在行首/行尾有空格,建议用
^\s*关键词\s*$更鲁棒
批量删多关键词行(OR 逻辑)
想一次删掉含 debug、console.log 或 TODO 的所有行?用正则的 |(或)组合,但要注意括号分组和转义:
^.*(?:debug|console\.log|TODO).*?$
说明:(?:...) 是非捕获分组,避免干扰;? 跟在 .* 后表示懒惰匹配(虽此处影响不大,但习惯加更安全);结尾 $ 仍不可省略,否则可能只删到关键词为止。
常见翻车点:漏转义 . 导致 console.log 被当成 consolelog 匹配,结果误删大量无关行。
删空行、注释行等高频场景快捷写法
实际开发中常需清理的不是自定义词,而是固定模式:
- 删所有空行:
^\s*$(匹配仅含空白或完全为空的行) - 删 Python 注释行:
^\s*#.*$ - 删 JS 单行注释:
^\s*//.*$ - 删 C/Java 风格块注释开头行:
^\s*/\*.*$(注意/和*都要转义)
这些模式建议存为片段或记在速查表里——真正卡住人的往往不是不会写,而是忘了 ^ 和 $ 必须成对出现,或者在多行文本里测试时没关 . matches newline,结果一删删掉半页代码。










