直接删除配置文件中以#或;开头的整行注释,使用正则^[#;]\s.\r?;删//行内注释用//.$;删/.../用/*[\s\s]?*/;删html注释用;删script内容用[\s\s]?。> ↩

直接删整行,不碰代码,也不管后面有没有空格或内容。这类注释常见于 不是删整行,而是把 Notepad++ 默认正则引擎不支持跨行匹配,除非用 HTML 注释和 删配置文件里的 # 和 ; 开头注释行
nginx.conf、systemd 服务文件、.ini 等。
打开 Ctrl + H → 勾选「正则表达式」→ 取消勾选「. 匹配换行符」:
查找目标填:^[#;].<em>\R?</em>
替换为:留空
关键点:\R? 能兼容 Windows(\r\n)、Linux(\n)、macOS(\r)换行;比硬写 \r?\n 更稳。
如果误删了 #include <stdio.h></stdio.h> 这类行,说明得加边界限制——改成 ^[#;]\s.\R?,只删 # 或 ; 后紧跟空白符的行。删 C/Java/JS 风格的 // 行内注释
// 及其后所有内容去掉,保留前面的代码和换行结构。
例如把 int a = 1; // init 变成 int a = 1;。
查找目标://.<em>$</em>
替换为:留空
必须确保「. 匹配换行符」是关闭状态,否则 . 会吞掉下一行。$ 在 Notepad++ 正则里默认不匹配 \r\n,所以它只截断到当前行尾,不会破坏换行。
注意:如果某行只有 // comment,这条规则不会动它——要删这种纯注释行,得额外跑一遍 ^//.<em>\R?</em>。删 / / 多行注释(含跨行)
[\s\S] 替代 . 并勾选「. 匹配换行符」。
查找目标:/*[\s\S]?*/
替换为:留空[\s\S] 是关键:它能匹配任意字符(包括换行);<em>?</em> 是非贪婪模式,避免一次吞掉多个注释之间的代码。
如果注释嵌套(如 / outer /<em> inner </em>/ outer end <em>/</em>),Notepad++ 无法处理——这不是操作问题,是 PCRE 引擎本身不支持嵌套匹配。
大文件慎用:这个正则回溯多,可能卡顿;可先用「标记」功能(Ctrl + F → 标记 → 勾选「正则表达式」→ 输入 /*)粗筛位置,再人工确认。删 HTML 注释 和 script 标签内容
<script></script> 内容不能混用同一套正则逻辑。
删注释:<!--[\s\S]</em>?-->(注意末尾是 -->,不是 --> 拼错)
删 <script></script> 标签内全部内容(保留空标签):<script>]<em>>[\s\S]?</script>,替换为 <script></script>
必须勾选「Matches newline」(即「. 匹配换行符」),否则 [\s\S] 不起作用。
如果 HTML 里有 <!-- <script>...</script> -->,上面的 <script></script> 正则会误删——因为 Notepad++ 没有 HTML 解析器,纯靠字符串匹配。
临时办法:先删所有 <!--[\s\S]*?-->,再处理 <script></script>;遇到 document.write("<script></script>") 这种动态拼接,正则完全失效,得换 cheerio 或浏览器 DevTools 处理。











