Sublime中删除单行注释需用^s//.$或^\s*#.*$并禁用大小写/全字匹配;多行注释须启用“.匹配换行符”,用/[sS]?*/等安全正则;操作前务必“查找全部”确认、逐个替换并备份。

Sublime 中用正则匹配并删除单行注释(// 和 #)
单行注释最易处理,但要注意别误删字符串里的 // 或 #。实际中建议先禁用「匹配大小写」和「全字匹配」,只开「正则表达式」模式。
常见错误是直接搜 //.*,结果把 http://example.com 也干掉了。稳妥做法是加行首锚点或空白符前置约束:
-
^s*//.*$:匹配整行以可选空白 +//开头的注释(适用于 JS/Java/C++) -
^s*#.*$:同理用于 Python/Shell - 若要保留空行,替换为
(空);若想连空行一并清理,替换为再手动去重空行
多行注释(/* */ 和 """)必须用「跨行模式」
Sublime 默认正则不跨行,/*.*?*/ 只能匹配同一行内的 /* */。必须勾选「. 匹配换行符」选项(图标是 .
),否则会漏掉真正的多行块。
典型场景:C/Java 的 /* ... */、Python 的三引号文档字符串。注意:
-
/*[sS]*?*/比/*.*?*/更可靠([sS]显式覆盖所有字符) - Python 的
"""..."""或'''...'''需转义引号:"""[sS]*?""",且要确认文件语法高亮是 Python,避免误伤 JSON 字符串 - 别用贪婪匹配
.*,否则可能从第一个/*一直吃到文件末尾最后一个*/
安全第一:别跳过「查找全部」和「逐个确认」
正则删注释不是无风险操作,尤其混合了模板字符串、正则字面量、SQL 注释等场景。比如 JS 里 const r = /a/b/; 中的 / 会被 /*.*?*/ 错误触发。
实操建议:
- 先按
Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS)打开「全部查找」面板,粘贴正则,观察匹配项是否合理 - 对含复杂结构的文件,用
Ctrl+H打开替换面板后,点「替换」而非「全部替换」,至少扫一遍前 3–5 处匹配 - 提前保存备份(
Ctrl+S),或启用 Sublime 的「自动保存」+「本地历史」插件(如Local History)
不同语言注释语法差异大,别套用同一正则
HTML 的 <!-- -->、CSS 的 /* */、Lua 的 --[[ ]]--、Go 的 // 和 /* */ 共存——没有万能正则。
关键判断点:
- 当前文件的
View → Syntax是什么?Sublime 的语法定义会影响高亮,也暗示注释风格 - 是否混用多种语言?比如 HTML 文件里嵌了
<script>和<style>,直接全局删//会破坏内联 JS - 配置文件(如 JSON、YAML)本身不支持注释,但有人手写
//当标记,删了可能让后续解析失败
真正麻烦的永远不是正则写不对,而是你没意识到那段「看起来像注释」的文本,其实是运行时才解释的模板语法或配置标记。

















