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

Notepad++ 不能真正“解析” HTML,它只做字符串匹配。所以批量删标签这事,核心是写对正则、分清场景、避开常见翻车点。
用 ]*> 删除所有标签最稳
这是唯一推荐的起点正则:它只匹配「以 < 开头、中间不含 >、以 > 结尾」的片段,不会跨行、不吞内容、不误杀 <script> 里的 a < b 这类合法符号。
- 必须勾选「正则表达式」,取消勾选「. 匹配换行符」
- 「查找目标」填
]*>,「替换为」留空,点「全部替换」 - 别用
<.></.>——它在含换行的标签(比如<pre>\n<div>)里会吃掉整块内容 - 别用
<.></.>或<.></.>——前者只匹配单字符标签,后者贪婪到可能吞掉两个标签之间的文本
HTML 注释和 CDATA 得单独处理
<!--.*?--> 和 不会被 ]*> 覆盖,因为它们本身不含 >,但又确实是需要清理的“伪标签”。
- 先处理注释:勾选「. 匹配换行符」,查找
<!--[\s\S]*?-->,替换为空 - 再处理 CDATA:同样勾选「. 匹配换行符」,查找
,替换为空 - DOCTYPE(如
<!DOCTYPE html>)也得单加一条:查找<![^>]*>,替换为空(注意这不是通用方案,仅针对这类声明)
删完标签后文本粘连?用两步清理空白
原始 HTML 是 <p>第一段</p>\r\n<p>第二段</p>,删完变成 第一段第二段,中间没换行也没空格。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
立即学习“前端免费学习笔记(深入)”;
- 先压缩行内多余空白:查找
\s+,替换为单个空格(\s在 Notepad++ 默认不匹配换行符,安全) - 再删空行:查找
^\s*$\r?\n,替换为空(\r?\n兼容 Windows/macOS/Linux 行尾) - 如果源文件有大量连续换行(比如日志),可追加一步:查找
\r?\n\r?\n,替换为\r\n\r\n控制段间距
想保留某些标签(比如 <img>)?别硬写负向断言
Notepad++ 的 PCRE 引擎对 (?!img)]*> 这类负向先行断言支持极差,容易漏匹配或直接报错。
- 稳妥做法是三步占位法:先把
<img[^>]*>替换成唯一标记,比如【IMG】 - 再用
]*>删光其余所有标签 - 最后把
【IMG】换回原<img src="x">(如果你提前复制过原标签,这步就只是粘贴) - 批量处理多个文件时,用「在文件中替换」功能,路径里填
*.html;*.htm,别用*,否则会扫进.git或node_modules
真正麻烦的不是正则怎么写,而是你拿到的 HTML 里有没有 <script>console.log('<div>') 这种嵌套在字符串里的尖括号——这种 case 正则根本无解,得换 DOM 解析器。Notepad++ 只适合格式可控、结构简单的清洗任务。


















