Thread Reguläre Ausdrücke: Wie Teil zwischen Suchstellen (2 answers)
Opened by membran at 2005-11-03 23:00

Dubu
 2005-11-03 23:34
#59683 #59683
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wenn dieser String echtes HTML ist, dann schlage ich CPAN:HTML::Parser oder CPAN:HTML::TreeBuilder vor. Wenn es kein echtes HTML ist, muesste man schon genau wissen, wie genau dein "Beispiel" auf alles das passt, was du tatsaechlich suchst.
(HTML ist nicht regulaer und laesst sich deshalb nur schlecht mit regulaeren Ausdruecken parsen.)

Ein sehr simpler Ansatz, der sehr strikt auf dein Beispiel zugeschnitten ist, koennte so aussehen:
Code: (dl )
1
2
3
if ($str =~ m~<span class="test">(.*?)</span>~) {
   print "Im Bereich test steht $1.\n";
}

Das Fragezeichen sorgt dafuer, dass der kuerzeste String bis zum naechsten "</span>" gesucht wird. Das Muster schlaegt also schon fehl, wenn ein weiteres "<span>...</span>" in dieses geschachtelt ist, kaeme aber mit anderen HTML-Tags innerhalb des <span> klar.

View full thread Reguläre Ausdrücke: Wie Teil zwischen Suchstellen