Regex для HTML с помощью java.util.regex - PullRequest
3 голосов
/ 16 июля 2010

Мне нужно регулярное выражение для следующего html:

<div xmlns="http://www.w3.org/1999/xhtml">    <p/>
  <p/><p/>    <p/>
</div>

Это происходит из поля richtext и, очевидно, это не значимое содержание или средство: пусто.Я не могу сказать в 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>

, то регулярное выражение не должно совпадать.

1 Ответ

3 голосов
/ 16 июля 2010

Используйте анализатор HTML, например Jsoup .

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

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...