(regex) pobiera całe wyrażenie z określonym słowem między 2 symbolami
Moje pytanie wygląda jak inne pytania w Stackoverflow, ale nie znalazłem dokładnie tego, czego szukałem.
Muszę odtworzyć całe wyrażenie zawierające konkretne słowo. Ta fraza występuje również między „>” i „<”.
Na przykład:
text:
"<div>bla bla bla</div><div>blu blu GOLD blu</div><form> bla bla...."
What I need is:
blu blu GOLD blu
Próbuję to zrobić w Perlu. Do tej pory mam:
$specific_word = GOLD;
while ($var=~/[>]?(?<phrase>(.*?)\Q$specific_word\E(.*?))</ig) {
script.....
}
To, co otrzymuję z tym wyrażeniem regularnym, biorąc pod uwagę powyższy przykład, to:<div>bla bla bla</div><div>blu blu GOLD blu
Jak mogę znaleźć pierwsze „>” przed moim konkretnym słowem, a nie pierwsze „>” całego tekstu?