Eu tenho algumas tags html começando <p class="mb-40px">
e terminando com </p>
A primeira tag tem algumas outras tags como </li>
</ul>
</div>
e spaces
e \n
como você pode ver.
<p class="mb-40px"></g></svg> </a>
</li>
</ul>
</div>
</p>
<p class="mb-40px">Foarte frumos lucru</p>
<p class="mb-40px">I love cars</p>
Eu quero encontrar e excluir todas as tags html, como a primeira que contém</li>
</ul>
</div>
A Saída deve ser:
<p class="mb-40px">Foarte frumos lucru</p>
<p class="mb-40px">I love cars</p>
Minha solução não é boa:
ACHAR:(?=<p class="mb-40px">)[\s\S]*?</li></div>|</ul>[\s\S]*?</p>
SUBSTITUIR POR:LEAVE EMPTY
Isso removerá todas as
<p class="mb-40px">
tags que contêm apenas tags ou espaços vazios:<p class="mb-40px">(?:<.+?>|\s)+?</p>\R*
LEAVE EMPTY
Explicação:
Captura de tela (antes):
Captura de tela (depois):
Use o seguinte:
^(?!.*(</p>)).*|\s+</p>
LEAVE EMPTY
. matches newline
Outra solução mais completa que pode lidar com outras tags dentro do
<p class="mb-40px"> ... </p>
.Você pode tentar aqui com explicação.
Esteja ciente de que todos os seus arquivos serão excluídos! Exceto
<p class="mb-40px"> ... </p>