java - 如何保持指定的 HTML 标签

标签 java regex

我使用此模式删除所有 HTML 标签(Java 代码):

String html="text <a href=#>link</a> <b>b</b> pic<img src=#>";
html=html.replaceAll("\\<.*?\\>", "");

System.out.println(html);

现在,我想保留标签 <a ...> (带有 </a> )和标签 <img ...>

我想要的结果是:

text <a href=#>link</a> b pic<img src=#>

如何做到这一点?

<小时/>

我不需要 HTML 解析器来执行此操作,

因为我需要这个正则表达式模式来过滤大量的 html 片段,

所以,我想要使用正则表达式的解决方案

最佳答案

可以使用负前瞻来做到这一点:

"<(?!(?:a|/a|img)\\b).*?>"

Rubular

但是这有很多问题,如果您想要一个强大的解决方案,我建议您使用 HTML 解析器。

有关更多信息,请参阅此问题:

关于java - 如何保持指定的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785663/

相关文章:

java - 如何在 Spring-Integration 中将 SOAPAction header 添加到 HTTP 消息中?

Java如何将非模式对话框中的双击事件结果传递给父框架?

java - TCP 线程池(地址已在使用中)

python - 在网络抓取时深入网站

javascript - 使用正则表达式将字符串放在模式之后

java - 从 URL Google map 获取经纬度

java - 递归打印方法

javascript 用正则表达式替换

regex - R中的动态正则表达式

regex - 如何使用正则表达式验证区域性代码?