Tenho 2 parágrafos, com tag html <p class="mb-40px"></p>
Dentro desta tag tem texto e outra tag <p..>
Eu preciso encontrar e excluir a tag html que está contida na tag principal<p class="mb-40px"></p>
Exemplo:
<p class="mb-40px">Miracles every day <p lang="ro-RO" align="JUSTIFY">being at la home, the poet Petru Iliesu made an international appeal to condemn the killing of demonstrators, shot on the streets of town.</p>
<p class="mb-40px">The pleasure we feel after reading a book is different from the pleasure of tasting a dish <p class="dis23">. In the first case, pleasure is disinterested, having no particular purpose, as a release from external preoccupations.</p>
Resultado
<p class="mb-40px">Miracles every day being at la home, the poet Petru Iliesu made an international appeal to condemn the killing of demonstrators, shot on the streets of town.</p>
<p class="mb-40px">The pleasure we feel after reading a book is different from the pleasure of tasting a dish. In the first case, pleasure is disinterested, having no particular purpose, as a release from external preoccupations.</p>
Meu regex não é muito bom:
ACHAR: (?:<p class="mb-40px">|\G)\S*\K(?:\h+<\s*(\w+)[^/>]*>)(?=.*</p>)
Substitua por: (deixe em branco)
Aqui está sua fórmula modificada que funciona do meu lado:
<p class="mb-40px">.*\K(?:\h+<\s*(\w+)[^\/>]*>)(?=.*<\/p>)
?:<
e\G
se você usar de qualquer maneira\K
\S*
funcionaria apenas se você tivesse apenas uma palavra sem espaços entre as tags, use.*
em vez disso/
precisa ser escapado:\/
e aqui está uma expressão ainda mais curta:
<p class="mb-40px">.*\K<p[^>]+>
Sim, eu me administro para encontrar solução:
ACHAR:
(?-i:<p class="mb-40px">|\G(?!^))(?s:(?!</p>).)*?\K(?-i:<\s*(\w+)[^/>]*>)
SUBSTITUIR POR:
LEAVE EMPTY
então, se eu quiser encontrar/substituir algo enquadrado em duas outras seções, o regex genérico será:
(?-i:REGION-START|\G(?!^))(?s:(REGION-FINAL).)*?\K(?-i:FIND REGEX)