我需要一个用于以下 html 的正则表达式:
<div xmlns="http://www.w3.org/1999/xhtml"> <p/>
<p/><p/> <p/>
</div>
这来自一个富文本字段,显然这不是有意义的内容或手段:空的。 我不能在 java 中说:if (richTextConent == null || richTextContent.length == 0) 因为 richtext 字段包含一些东西。从语义上讲,上面的内容是空的,所以我想到了使用正则表达式。我需要将此代码段与 java.util.regex 匹配
如果代码段中有一些有意义的内容,例如:
<div xmlns="http://www.w3.org/1999/xhtml"> text<p/>
<p/><p/>text <p/>
</div>
正则表达式不应该匹配。
最佳答案
使用类似 Jsoup 的 HTML 解析器.
String html1 = "<div xmlns=\"http://www.w3.org/1999/xhtml\"> <p/> <p/><p/> <p/></div>";
String html2 = "<div xmlns=\"http://www.w3.org/1999/xhtml\"> text<p/> <p/><p/>text <p/> </div>";
System.out.println(Jsoup.parse(html1).text().isEmpty()); // true
System.out.println(Jsoup.parse(html2).text().isEmpty()); // false
另见:
关于java - 使用 java.util.regex 的 HTML 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267441/