Регулярное сопоставление нескольких строк в одной группе совпадений - PullRequest
0 голосов
/ 22 марта 2019

У меня есть следующая строка:

<div>Some headline - list 1<br />
&gt; List item 1<br />
&gt; List item 2<br />
&gt; List item 3<br />
<br />
List 2<br />
&gt; foo<br />
&gt; bar<br />
&gt; baz<br />
<br />
&nbsp;</div>

Содержит два списка сформированных по мужскому составу. Моя цель заключить элементы этих списков в <ul>. Для этого я ищу регулярное выражение, которое сопоставляет все элементы каждого списка в одну группу совпадений.

Итак, мой ожидаемый результат будет:

&gt; List item 1<br />
&gt; List item 2<br />
&gt; List item 3<br />

и

&gt; foo<br />
&gt; bar<br />
&gt; baz<br />

Вся магия регулярных выражений, которую я устал, не удалась, потому что они соответствовали только одной строке списка, или группа совпадений включала все содержимое между началом первого списка и концом последнего.

Я пробовал ~&gt; (.*)<br />\s~gis, что соответствует обоим спискам.

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете попробовать это регулярное выражение, чтобы захватить только списки.,

Я использую регулярное выражение Java.,

(&gt; .*(?:<br\s/>\s+List\s2<br\s/>)?)

Он захватывает эти элементы.,

&gt; List item 1<br />
&gt; List item 2<br />
&gt; List item 3<br />
&gt; foo<br />
&gt; bar<br />
&gt; baz<br />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...