Sublime怎么一键去除HTML标签 Sublime正则过滤富文本提取纯文【提取】
Sublime怎么一键去除HTML标签 Sublime正则过滤富文本提取纯文【提取】

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
想在 Sublime Text 里快速剥离 HTML 标签,提取干净文本?很多人会直奔正则表达式。但这里有个核心提醒:没有所谓的“一键万能”方案。网上流传的 <[^>]*> 表达式,确实是单行处理场景下最稳妥的选择,因为它巧妙地避开了属性值里可能包含的小于号。不过,它也有明确的局限——跨行标签、脚本样式块、以及复杂的注释结构,它都无能为力。
Sublime 里该用哪个正则表达式
直接说结论:首选 <[^>]*>。为什么不选其他看起来更灵活的呢?我们来对比一下:
<[^>]*>:它的匹配逻辑是“寻找一个小于号,然后匹配其后所有不是大于号的字符,直到遇见第一个大于号为止”。这个设计非常聪明,能有效防止属性值(比如alt="A < B")中的小于号误触发匹配,从而避免破坏内容。<.*?>:这个表达式在多数情况下也能工作,但在 Sublime 的默认正则引擎下,点号(.)通常不匹配换行符。一旦标签跨行,它就失效了。更危险的是,如果遇到,它可能会把脚本字符串里的‘’也当作标签删掉,导致代码损坏。
<\/?.*?\/?>:这个模式过于宽泛,可能会匹配到本不该被删除的内容,比如 HTML 注释或文档类型声明,导致清理结果不纯净。
为什么 Replace All 后文本粘连或空行乱飞
用正则删完标签后,经常发现所有文字都挤在了一起,或者空行多得离谱。这其实不是正则写错了,而是HTML的视觉格式丢失了。网页上的段落和换行,是靠 、、 这些标签来定义的,当你把它们全部删除,文本自然就失去了原有的结构。
想得到更可读的纯文本,可以试试这个“三步整理法”:
- 第一步,统一换行符:不同系统带来的换行符(\r\n, \r, \n)可能很混乱。先用正则
(?:\r\n|\r|\n)+把它们全部替换成统一的\n(LF)。 - 第二步,还原段落结构:针对常见的块级标签进行单独处理。例如,将
和都替换为两个换行符\n\n,将替换为一个换行符\n。这一步可以在删除所有标签之前或之后进行。 - 第三步,清理多余空行:经过上述操作,可能会产生连续多个空行。使用
\n\s*\n匹配连续换行(中间可能有空格),替换为\n\n(即两个换行),这样就能让排版变得清爽。
遇到 或 怎么办
这才是真正的挑战。 ')<[^>]*> 会无情地匹配并删除这些标签及其内部内容,但如果脚本字符串里恰好有类似标签的字符(如 console.log('),就会导致匹配混乱,截断代码。
稳妥的做法是分步清理,优先处理特殊块:
- 预先清理脚本和样式:在删除普通标签前,先使用跨行匹配模式(在Sublime查找框中勾选“正则表达式”旁边的“.*”按钮,或在表达式中使用
[\s\S])匹配并移除整个和块。对应的正则可以是

