Java - регулярное выражение для заданной строки - PullRequest
1 голос
/ 20 июня 2010

У меня есть следующий фрагмент HTML-кода:

        <br>
        Date: 2010-06-20,  1:37AM PDT<br>
        <br>
        Daddy: <a href="...">www.google.com</a>
        <br>

Я хочу извлечь

Date: 2010-06-20, 1:37AM PDT

и

Daddy: <a href="...">www.google.com</a>

с помощью регулярных выражений Java.

Так какое регулярное выражение я должен использовать?

1 Ответ

1 голос
/ 20 июня 2010

Это должно дать вам хорошую отправную точку:

    String text = 
    "        <br>\n" +
    "        Date: 2010-06-20,  1:37AM PDT<br>   \n" +
    "   <br>    \n" +
    "Daddy: <a href=\"...\">www.google.com</a>   \n" +
    "<br>";

    String[] parts = text.split("(?:\\s*<br>\\s*)+");
    for (String part : parts) {
        System.out.println("[" + part + "]");
    }

Это печатает ( как видно на ideone.com ):

[]
[Date: 2010-06-20,  1:37AM PDT]
[Daddy: <a href="...">www.google.com</a>]

Используется String[] String.split(String regex).Шаблон регулярного выражения "один или несколько из <br> с предшествующими или конечными пробелами.


Альтернатива гуаве

Вы также можете использовать SplitterГуава. На самом деле это намного более читабельно, и может omitEmptyStrings().

    Splitter splitter = Splitter.on("<br>").trimResults().omitEmptyStrings();
    for (String part : splitter.split(text)) {
        System.out.println("[" + part + "]");
    }

Это печатает:

[Date: 2010-06-20,  1:37AM PDT]
[Daddy: <a href="...">www.google.com</a>]

Вопросы, связанные сМассив с разделением строк

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