You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保留a、img、h3标签并移除其他HTML标签?当前正则失效

解决方案

方法一:正则表达式(适合简单场景)

你可以用反向匹配的正则规则,只保留a、img、h3标签,移除其他所有HTML标签。适配的正则表达式如下:

<(?!\/?(a|img|h3)\b)[^>]+>

规则说明:

  • <:匹配标签的起始符号
  • (?!\/?(a|img|h3)\b):负向预查,排除以a、img、h3开头的标签(包括</a>这类闭合标签)
  • [^>]+>:匹配标签剩余部分直到闭合符号>

用你的示例文本测试,替换后结果为:

Test paragraph
<a href="ttt">link</a>
dadadsadsa
<img src="#">
<h3>This is a test title</h3>

方法二:HTML解析库(推荐,更可靠)

正则处理HTML容易出现边缘问题(比如标签内特殊字符、嵌套标签),更稳妥的方式是用专业HTML解析库,以Python的BeautifulSoup为例:

from bs4 import BeautifulSoup

html_content = """
<article>
<p>Test paragraph</p>
<a href="ttt">link</a>
<figure>dadadsadsa</figure>
<img src="#">
<h3>This is a test title</h3>
</article>
"""

soup = BeautifulSoup(html_content, "html.parser")

# 遍历所有标签,移除不在白名单内的标签,保留内部内容
for tag in soup.find_all(True):
    if tag.name not in ["a", "img", "h3"]:
        tag.unwrap()

print(soup.prettify())

运行后输出结果:

Test paragraph
<a href="ttt">link</a>
dadadsadsa
<img src="#"/>
<h3>This is a test title</h3>

内容的提问来源于stack exchange,提问作者Kojak Eugenio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:45:51