您的位置:首页 >Sublime怎么一键去除HTML标签 Sublime正则过滤富文本提取纯文【提取】
发布于2026-04-29 阅读(0)
扫一扫,手机访问

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