Sublime正则表达式快速清除代码中的注释

轻辰君_1280

轻辰君_1280

2026-09-16

872人浏览

原创

sublime text 无真正安全的“一键删注释”功能,需分两步正则替换(先 /*[\s\s]*? */ 删块注释,再 ^\s(?://|#).$ 删行首注释)并人工核验三处以上。

sublime正则表达式快速清除代码中的注释

Sublime Text 没有真正安全的“一键删注释”功能,所谓快速清除,本质是两步正则替换 + 人工核验的组合操作;跳过核验或强行套用通用正则,大概率误删 https://、url = "a.com#anchor"、const r = /a\/b/;,甚至配置项 # timeout=30。

先删 /* */ 块注释,必须启用 . matches newline

块注释跨行时,/\*.*?\*/ 默认不匹配换行符,会漏掉绝大多数真实注释。唯一稳定写法是 /\*[\s\S]*?\*/——[\s\S] 显式覆盖所有字符(含换行),? 确保非贪婪,避免从第一个 /* 一路吃到文件末尾最后一个 */。

  • 务必点击查找面板右下角 .\n 图标启用跨行匹配,否则多行注释几乎全漏
  • 别用 /\*.*\*/(无 ?):它会贪婪吞掉中间所有函数、类甚至整个模块
  • 该正则无法识别字符串内的 /*,例如 const s = "/* not a comment */"; 会被误删——这不是正则缺陷,而是 Sublime 不做语法解析
  • Python 文件中三引号文档字符串(""" 或 ''')不会被此正则匹配,需另配 """[\s\S]*?""" 并手动确认是否真为 docstring

再删 // 和 # 行首注释,锚定位置最关键

直接搜 //.*$ 或 #.*$ 极其危险:会把 fetch('https://api.com')、url = 'https://a.com//b';、http:// 全部干掉。稳妥做法是加行首和缩进约束:^\s*(?://|#).*$。

蜜蜂剪辑
蜜蜂剪辑

蜜蜂剪辑是一款AI视频创作工具,AI 去水印工具,支持图片及 30+ 主流短视频平台。

下载
  • ^ 和 $ 锚定整行,\s* 允许前面有空格或制表符,只命中真注释
  • 这一步必须关闭 . matches newline,否则 .*$ 可能跨行吞内容
  • 它不处理行中注释(如 int x = 1; // init),强行删会破坏语句结构;若真需要,得改用 \s+(?://|#).*$ 并手动逐个确认
  • Python/Shell 配置文件里 # default=1 这类关键参数也会被匹配,删前务必抽检结尾配置段

不同语言必须换正则,不能靠一个表达式通吃

Sublime 不感知语法上下文,纯靠字符硬匹配。混用等于主动埋雷。

  • HTML 文件必须用 <!--[\s\S]*?-->,否则 // 会误删内联 <script></script> 里的 JS 注释
  • CSS/JS 的 /* */ 虽写法一样,但若文件语法被设为 Plain Text,Sublime 就无法识别字符串边界,/\*[\s\S]*?\*/ 可能误吞 "/* in string */"
  • Vue/JSX 单文件组件里,<script></script>、<style></style>、<template></template> 各自遵循不同注释规则,不能用一个正则通吃
  • 操作前务必看右下角语言名,或按 Ctrl+Shift+P → Set Syntax 显式指定,别依赖自动识别

每步执行前必须 Find All,抽检至少三处

即使用了最稳妥的表达式,仍可能误删:JSON 字符串中的 //、模板字面量里的 #、正则字面量 /a\/b/ 中的 /、配置文件里带 # 的关键参数。

  • Ctrl+Shift+F 粘贴正则 → 点 Find All 看高亮是否全为真注释
  • 至少抽检三处:开头(如 license header)、中间逻辑块(如函数体内的注释)、结尾配置段(如 # timeout=30)
  • 删完立刻 Ctrl+Z 回退验证——恢复成本远高于预防时间
  • 真正容易被忽略的是:删完后文件末尾可能没换行符,而 Python/Shell 项目常要求 POSIX 兼容,得手动补或运行 Ctrl+Shift+P → Insert Final Newline

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4036

8

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

2023.07.05

2561

4

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

2023.07.05

7002

9

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

2023.08.11

792

5

正则表达式空格
正则表达式空格

正则表达式空格可以用“\s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

500

5

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

653

12

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“\s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

2023.11.17

386

3

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.12.06

719

7

php正则表达式有哪些
php正则表达式有哪些

php正则表达式有"/pattern/"、"^"、"$"、"."、"[]"、"[^]"、"[a-z]"、"[A-Z]"、"[0-9]"、"\d"、"\D"、"\w"、"\W"、&a

2024.02.23

312

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程