notepad++ 删除html标签应使用]*>正则,勾选“正则表达式”、取消“.匹配换行符”,替换为空;注释、cdata、doctype需单独处理;删后用\s+和^\s*$\r?\n清理空白;保留特定标签用三步占位法;含js字符串尖括号的场景不适用。

Notepad++ 不能真正“解析” HTML,它只做字符串匹配。所以批量删标签这事,核心是写对正则、分清场景、避开常见翻车点。
用 ]*> 删除所有标签最稳
这是唯一推荐的起点正则:它只匹配「以 、以 > 结尾」的片段,不会跨行、不吞内容、不误杀 <script></script> 里的 a 这类合法符号。
- 必须勾选「正则表达式」,取消勾选「. 匹配换行符」
- 「查找目标」填
]*>,「替换为」留空,点「全部替换」 - 别用
<.></.>——它在含换行的标签(比如<pre class="brush:php;toolbar:false;">\n<div>)里会吃掉整块内容 <li>别用 <code><.></.></code> 或 <code><.></.></code>——前者只匹配单字符标签,后者贪婪到可能吞掉两个标签之间的文本</li> <h3>HTML 注释和 CDATA 得单独处理</h3> <p><code><!--.*?--></code> 和 <code></code> 不会被 <code>]*></code> 覆盖,因为它们本身不含 >,但又确实是需要清理的“伪标签”。</p> <ul> <li>先处理注释:勾选「. 匹配换行符」,查找 <code><!--[\s\S]*?--></code>,替换为空</li> <li>再处理 CDATA:同样勾选「. 匹配换行符」,查找 <code></code>,替换为空</li> <li>DOCTYPE(如 <code>)也得单加一条:查找 <code>]*></code>,替换为空(注意这不是通用方案,仅针对这类声明)</code> </li> </ul> <h3>删完标签后文本粘连?用两步清理空白</h3> <p>原始 HTML 是 <code><p>第一段</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill8272" title="anything-to-html"><img src="https://img.php.cn/upload/skill/000/000/081/179195588450431.jpg" alt="anything-to-html" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="overflowclass">anything-to-html</a> <p class="overflowclass">将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。</p> </div> <a rel="nofollow" href="/xiazai/skill8272" title="anything-to-html" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>\r\n<p>第二段</p></code>,删完变成 <code>第一段第二段</code>,中间没换行也没空格。</p> <ul> <li>先压缩行内多余空白:查找 <code>\s+</code>,替换为单个空格(<code>\s</code> 在 Notepad++ 默认不匹配换行符,安全)</li> <li>再删空行:查找 <code>^\s*$\r?\n</code>,替换为空(<code>\r?\n</code> 兼容 Windows/macOS/Linux 行尾)</li> <li>如果源文件有大量连续换行(比如日志),可追加一步:查找 <code>\r?\n\r?\n</code>,替换为 <code>\r\n\r\n</code> 控制段间距</li> </ul> <h3>想保留某些标签(比如 <code><img></code>)?别硬写负向断言</h3> <p>Notepad++ 的 PCRE 引擎对 <code>(?!img)]*></code> 这类负向先行断言支持极差,容易漏匹配或直接报错。</p> <ul> <li>稳妥做法是三步占位法:先把 <code><img>]*></code> 替换成唯一标记,比如 <code>【IMG】</code> </li> <li>再用 <code>]*></code> 删光其余所有标签</li> <li>最后把 <code>【IMG】</code> 换回原 <code><img src="x"></code>(如果你提前复制过原标签,这步就只是粘贴)</li> <li>批量处理多个文件时,用「在文件中替换」功能,路径里填 <code>*.html;*.htm</code>,别用 <code>*</code>,否则会扫进 <code>.git</code> 或 <code>node_modules</code> </li> </ul> <p>真正麻烦的不是正则怎么写,而是你拿到的 HTML 里有没有 <code><script>console.log('<div>')</script></code> 这种嵌套在字符串里的尖括号——这种 case 正则根本无解,得换 DOM 解析器。Notepad++ 只适合格式可控、结构简单的清洗任务。</p> </div></pre>
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










