java - 使用正则表达式删除没有插件的 html 标签

标签 java regex

所以我试图删除包含 <p></p> 接受的 html 标签的每个部分。在java中。

我尝试了这个接受,但我无法获得正确的结束标签。我尝试了(///p),但似乎无法捕捉到它。

"<[^(p>)>]+>.*?<[^(///p>)>]+>"

示例

<p> should stay </p> <html> shouldn't stay</html>

输出

<p> should stay </p>

最佳答案

使用正则表达式来操作 HTML 是一个非常非常糟糕的主意。使用正则表达式解析 HTML/XML 会召唤克苏鲁。你的灵魂将会被克苏鲁吞噬。 Cthulu 的另一个名字是 RegexHtmlParser。

您最好使用 xpath 提取所有段落标签。否则,允许您遍历 DOM 并提取段落标签的 HTML 解析器是您唯一真正的选择。

关于java - 使用正则表达式删除没有插件的 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574025/

相关文章:

java - 为什么仅当我的 Controller 具有@RequestMapping (produces = ...) 时,Spring 的 HandlerInterceptorAdapter 才会被调用两次?

java - 将 Swagger 与 Dropwizard 集成,无法生成 swagger.json 文件

java - 在 tabris 中创建应用程序

c# - 用于 HTML 的正则表达式 C#

regex - 使用正则表达式匹配两个字符串之间的字符串

java - 获取文件时分页

java - Android 主页按钮禁用错误

javascript - 如何解析文本

regex - 如何使用 Hive REGEXP_EXTRACT() 函数删除非字母数字或非数字字符

mysql - 使用 REGEXP 进行 SQL 选择返回错误的数据行