Как использовать регулярные выражения для сопоставления содержимого тега HTML в Java - PullRequest
0 голосов
/ 04 мая 2018

Чего я хочу достичь:

Я хочу сопоставить определенный явный контент вне комментариев.

Пример:

<div>
    <div>Hello $world$</div>
    <div>Another text <!-- $example$--></div>   
</div>
<div>
    How are $you$?
</div>
<!-- 
<div>
    Lorem ipsum $dolor$ sit
</div>
-->

Слова, которые я хочу сопоставить: $world$, $you$

Слова, которые я не хочу сопоставлять: $example$, $dolor$

До сих пор я мог соответствовать только всем или ни одному.

Что я не могу сделать:

Я не могу удалить все комментарии, потому что требуется предоставить отфильтрованный исходный код.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Добавить чередование

/(?:<!--.*?-->)|($.*?$)/gsm
               ^

и проверьте, есть ли что-нибудь в первой группе захвата.

0 голосов
/ 04 мая 2018

Я не могу сказать, откуда вы взяли свой код, но вам нужно прочитать вашу страницу в String oder String [], а затем выполнить регулярное выражение над ней, чтобы извлечь строки, которые вы хотите отфильтровать.

Как использовать поток с регулярным выражением в Java:

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

Как использовать регулярные выражения в Java:

https://www.tutorialspoint.com/java/java_regular_expressions.htm

Проверьте свое регулярное выражение перед его развертыванием:

https://regexr.com/

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