首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
Sublime实现一键删除所有HTML标签_Sublime正则提取网页纯文本

Sublime实现一键删除所有HTML标签_Sublime正则提取网页纯文本

热心网友
11
转载
2026-05-03

最稳方法是用<[^>]*>删除HTML标签

想在Sublime Text里快速提取网页的纯文本,却没有现成的“去标签”按钮?别急,<[^>]*>这个正则表达式能帮你搞定95%的常规场景。它精准匹配单行内任何以<开头、>结尾的标签,无论是简单的

,还是带属性的,都能被一网打尽,而且完全不用担心它会跨行误删内容。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

Sublime实现一键删除所有HTML标签_Sublime正则提取网页纯文本

<[^>]*> 删除 HTML 标签最稳

具体操作其实很简单,就几步:

  • 按下 Ctrl+H(Windows/Linux)或 Cmd+H(macOS)召唤出替换面板。
  • 记得勾选面板左下角的 .* 选项,这是启用正则匹配的开关。
  • 在查找框里填入我们的“秘密武器”:<[^>]*>
  • 替换框保持空白,然后大胆点击 Replace All

搞定。这时候你可能会问,为什么不用更常见的<.*?>或者<.*>呢?原因在于,Sublime Text使用的PCRE正则引擎在处理这类模式时,对换行符和标签内包含的>符号比较“脆弱”。举个例子,如果遇到

\nHello

这种换行内容,或者click me这样的短句,前者可能被截断,后者则容易漏删,远不如<[^>]*>来得稳健。

保留段落结构:先处理

再删其他标签

不过,直接一股脑删光所有标签,文本往往会糊成一团,失去可读性。我们的目标不仅是提取文字,还得让段落结构清晰可见。

这里有个小技巧:两步走策略。

  • 第一步,保护段落。 使用正则

    .*?

    进行查找(这次需要同时勾选.*. matches newline,以确保匹配跨行段落),然后替换为\n$0\n。这相当于给每个

    段落前后都加上了换行符,先把它们的“地盘”圈出来。

  • 第二步,清理战场。 再用我们熟悉的<[^>]*>删除所有剩余的HTML标签。
  • 最后,整理门面。 查找连续的换行和空格\n\s*\n,替换为标准的双换行\n\n,这样就能合并多余的空行,让版面看起来清爽多了。

需要特别注意一点:在Sublime Text中,\s默认是匹配换行符的。所以,千万别直接用\s+去替换单个空格,否则你辛苦保留的段落结构又会被压平。

遇到 这样的脚本标签里,看到字符串中的'

'时,也会毫不犹豫地把它当成标签删掉——这显然是错误的。

面对区域,然后按下Ctrl+Shift+P,输入并执行Selection: Invert Selection命令来反选其他区域,最后再执行标签删除操作。

  • 分步处理。 先用一个更复杂的正则<(script|style)[^>]*>[\s\S]*?精确匹配这些脚本和样式区块,并把它们临时替换成一个独特的占位符(比如###SCRIPT_PLACEHOLDER###)。接着,用<[^>]*>删除其他所有标签。最后,再把占位符恢复回原来的脚本和样式内容。
  • 必须承认,没有哪个万能的正则表达式能真正理解HTML的语法树结构,对于这些嵌套或包含特殊字符的复杂情况,分步处理是更可靠的选择。

    HTML 注释不能和标签一起删

    另一个常见的陷阱是HTML注释。这样的结构,对于<[^>]*>来说是个难题。这个模式会错误地将注释切成两段,不仅破坏了注释的完整性,还可能误删中间的文字。

    清理注释,得专门对待:

    • 使用专门匹配注释的正则:(同样,务必勾选. matches newline以确保匹配多行注释)。
    • 将其替换为空。
    • 在执行全量替换前,强烈建议先点击Find All按钮预览一下所有匹配项,确认不会误伤像