Regex, удалить текст НЕ между тегами - PullRequest
0 голосов
/ 13 марта 2019

Мне нужно удалить весь текст, который не находится между тегами <p> и </p>.В каждой ячейке может быть много тегов <p>.Содержимое до <p> и после </p> отличается в каждой строке.

Пример

<h1>Curly Krans Daggdroppar 30cm LED</h1><h2>Beskrivning</h2><div id="more_info_sheets" class="sheets align_justify"><div id="idTab1" class="rte"><div id="more_info_sheets" class="sheets align_justify"><div id="idTab1" class="rte"><p>En krans med en snygg och intressant design. </p><p>Kransen har 30st ej utbytbara små LED lampor.</p><p>Finns i tre olika färger, välj mellan, koppar, mässing och krom.</p></div></div></div></div>

Должно быть

<p>En krans med en snygg och intressant design. </p><p>Kransen har 30st ej utbytbara små LED lampor.</p><p>Finns i tre olika färger, välj mellan, koppar, mässing och krom.</p>

Кто-нибудь знает, как это сделать

1 Ответ

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

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

вместо замены остальной части текста. Однако здесь есть другой вариант для регулярного выражения:

Соответствует всем вашим p группам

<p>.*<\/p>

Соответствует каждой группе p отдельно

<p>.*?<\/p>

Соответствие не р-группам

(^.*?(?=<p>))|((?<=<\/p>)<[^p].*)
...