Eu tenho essas 2 tags html. Eu quero encontrar todas as tags html que contenham apenas 4 palavras (apenas a primeira linha no meu exemplo)
<p class="mb-40px">My name is prince</p>
<p class="mb-40px">Soul Travel is a spiritual practice that enables you to explore</p>
Eu tento isso, mas não muito bom:
ACHAR:(<p class="mb-40px">)(.*?)(?:\W*+\w++){1,4}(.*?)</p>
Este regex fará isso:
Ele procura as
<p>
tags e entre exatamente 4 ocorrências de uma palavra seguidas por qualquer número de caracteres que não sejam palavras (incluindo zero).Com pequenas modificações, sua regex está bem.
Remova os quantificadores possessivos
*+
&++
e os inúteis(.*?)
.<p class="mb-40px">(?:\W*\w+){4}\W*</p>
Explicação:
Captura de tela: