How to look for the same occurrence of a term independent of its position in a string?

1

I need to create a regular expression that finds the value src=path-da-imagem in whatever position it is.

Example:

With the expression <img\s(src=\S*)\s(.*?)\/> I can find the result in:

<img src="../../../assets/images/sucesso/chip1.png" alt="Step 1" className="sucesso-bullets" />
<img src="../../../assets/images/logo21.png" alt="Logo OI MOD" width="54" />

But I can not find the result in:

<img class="sc-jKJlTe gpDxyZ" alt="Conheça o Oi Mod, nele você fica no controle! Precisa navegar muito ou quer falar mais? Compre só o que precisar. Troque minutos e internet de acordo com a sua necessidade e confira todos os seus gastos no histórico. Tudo pelo aplicativo, rápido e fácil. Confira todas os benefícios do nosso plano e adquira já." title="Conheça o Oi Mod, precisa navegar muito ou quer falar mais? Compre só o que precisar! Troque minutos e internet sempre que quiser e confira todos os seus gastos no histórico. Tudo pelo app, rápido e fácil. Confira todos os benefícios do Oi Mod, e tenha mais controle e liberdade :)" srcSet="../../../assets/images/oi-mod-tela-compra-troca-1x.gif 600w, ../../../assets/images/oi-mod-tela-compra-troca-2x.gif 1366w, ../../../assets/images/oi-mod-tela-compra-troca-3x.gif 1920w" src="../../../assets/images/oi-mod-tela-compra-troca-1x.gif"/>

example working at link

    
asked by anonymous 11.04.2018 / 00:08

1 answer

3
(<img\s[^>]*)(src="[^"]*")(.*>)
  • <img\s : ensures that the tag is IMG
  • [^>]* : allows anything, unless you close the tag
  • (src="[^"]*") : attribute src
  • (.*>) : allows any attribute after closing the tag

Replace RegExp:

$1<< $2 >>$3

But it can give false positives. Remembering that there may not be a satisfactory RegExp, and in your case, I'm almost certain that you will not get the perfect RegExp.

The best approach may be different.

    
11.04.2018 / 00:30