Zitat von
otelo
Was bedeutet das .*? in Worten? Bedeutet das in allen Fällen Wiederholung?
Zitat von
"Johan Vromans" Perl 5 kurz & gut; O'Reilly; 2000; S. 44
Quantifizierte Submuster werden so oft wie möglich erkannt. Folgt den Mustern ein ?, wird die minimale Anzahl erkannt. Die folgenden Mengenmodifikatoren (>>Quantifier<<) stehen zu Verfügung:
+ Erkennt das vorstehende Musterelement ein oder mehrmals.
? Erkennt ein Element nicht oder einmal.
* Erkennt das Element nicht oder mehrmals.
Beispiel:
Code:
$text = "Hallo <mark>Erde</mark>Welt<mark>.</mark>!";
$text =~ s#<mark>.*</mark>##sig;
print($text . "\n");
Ausgabe:
Hallo !
Code:
$text = "Hallo <mark>Erde</mark>Welt<mark>.</mark>!";
$text =~ s#<mark>.*?</mark>##sig;
print($text . "\n");
Ausgabe:
Hallo Welt!
Ersteres frisst also alles zwischen dem ersten <mark> und dem letzten </mark>. Das meint ich mit der "Gier". Auf das ? bin ich dabei allerdings nicht gekommen, aber das hat baumgartner ja folgerichtig eingeworfen. Also letzteres ist das was du suchst.
Lesezeichen