我需要以下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
也可以看看: