Sublime Text 查找注释必须启用正则模式(Alt+R/Cmd+Alt+R)并使用锚定正则:JS/TS 单行用 ^s//.$,多行用 /*sS*?*/(需点亮 );HTML 用 ,Python 用 ^s*#.*$;所有匹配均需人工核验。

Sublime Text 查找注释内容不能靠直觉输//或/*就完事——默认不启用正则、不加锚点、不考虑语法作用域,90% 的结果会漏掉或误中代码段。
注释匹配必须开正则模式(.*按钮)
直接在 Ctrl+F 里输 //,Sublime 会按字面意思找两个斜杠字符,结果包括:http://、path/to//dir、甚至变量名 double_slash。注释是结构化文本,得用正则锚定位置。
- Windows/Linux:打开查找面板后,按
Alt+R或点击右下角.*按钮点亮它 - macOS:按
Cmd+Alt+R或手动点.* - 不开这个,
、^、$全无效,//就只是两个普通字符
JS/TS 单行注释:^\s*//.*$
这个正则能稳定抓到 JS/TS 中真正起作用的单行注释,不会误中字符串或 URL。
-
^\s*:行首 + 任意空白(支持缩进注释) -
//:字面双斜杠(/不需转义,但//在正则里不是特殊符号,可不加反斜杠;为防意外,写成\/\/也行,但非必须) -
.*$:匹配到行尾,确保整行都被捕获 - 错误写法:
//.*→ 会匹配const url = "https://api.com"里的//api.com - 想排除空注释行(如
//后无文字)?改成^\s*//\s+.*$
多行注释:/\*[s\S]*?\*/(含换行)
JS/TS/CSS 的 /* ... */ 注释天然跨行,必须让 . 匹配换行符,否则只抓到第一行。
- 先确认查找面板右下角
按钮已点亮(表示.可匹配换行) - 用非贪婪
[sS]*?替代.*?更稳:前者明确包含所有字符,后者依赖开关 - 完整写法:
/\*[s\S]*?\*/(注意*和/都要转义) - 危险写法:
/*.*?*/→ 若没开,跨行注释直接消失;若用贪婪.*,可能吞掉中间所有*/直到文件末尾 - 只想查未闭合的注释?搜
/\*[s\S]*$(行尾无*/),再人工核对
HTML 注释和 Python 注释要换语法锚点
不同语言注释结构不同,硬套 JS 正则会失效。HTML 用 ,Python 用 #,且都需适配各自语法上下文。
- HTML 注释:
,同样要点亮;别用,否则跨行失败 - Python 单行注释:
^\s*#.*$(#前允许缩进,$锁定行尾) - Python 多行字符串不是注释:
"""docstring"""不应被当注释抓——Sublime 不解析语法,所以得靠人判断;若想排除,Where 填*.py后手动跳过"""区块 - 混用场景(如 JSX 文件里有 JS 注释 + HTML 注释):分开搜,或用
^\s*(//|#|











