Expressão regular para corresponder à tag img com atributo específico em HTML

0

Estou procurando uma expressão regular que detecte um bloco <IMG ... random Parameter > completo em um documento grande enquanto a opção ". Matches newline" está ativada na função Localizar / Substituir.

Exemplo:

Estou procurando o bloco <IMG ... > que contém Goal.gif . Atualmente estou usando

(<img.+Goal.gif".+>)

mas com esta expressão, corresponde ao bloco inteiro. Minha ideia é verificar a seguinte IMG-Tag como uma negação, mas não sei como criar uma declaração desse tipo.

<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Tastatur.gif" align=baseline>
<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Tastatur.gif" align=baseline>
<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Goal.gif" align=baseline>

Qual regex posso usar para corresponder apenas à tag img que inclui Goal.gif ?

    
por user2961606 12.12.2016 / 16:02

1 resposta

1

Aqui está uma que testei em seus dados de amostra no Notepad ++.

<img[^>]+goal\.gif.*?>

O [^>]+ funciona como .+ , mas não corresponde a nenhuma expressão, incluindo > . Isso garantirá que <img e goal.gif estejam na mesma tag.

O gif.*? torna a correspondência não voraz, por isso só alcançará a primeira instância de > após gif .

Eu testei isso no caso em que há uma nova linha entre o atributo tag start e src , e ainda funcionou.

    
por 12.12.2016 / 16:26