Мне нужно удалить весь текст, который не находится между тегами <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>
Кто-нибудь знает, как это сделать?
Я хочу удалить весь текст H1 и H2, а также все теги div. Необходимо сделать в Notepad++ или Excel из файла .csv. Моя цель - получить только чистый текст с p-тегами.
Я могу удалить все до первого <p> с помощью ^.*?(?=<p>), но как удалить все после последнего</p>?
поэтому ответ регулярного выражения стебля не должен использовать регулярное выражение в разметке. что для этого есть лучшие инструменты, такие как xPath.





Вы можете использовать выражение соответствия, чтобы захватить только нужную группу
теги вместо замены остального текста. Однако здесь есть другой вариант регулярного выражения:
Сопоставьте все ваши p-группы
<p>.*</p>
Сопоставьте каждую группу p отдельно
<p>.*?</p>
Соответствие не p группам
(^.*?(?=<p>))|((?<=</p>)<[^p].*)
чего вы пытаетесь достичь? каково ваше окружение? как вы хотите удалить это?