Christoph: Regular Expressions: Elegantere Lösung möglich?

Beitrag lesen

Hi,

Gibt es eine elegantere Lösung?

man kann reguläre Ausdrücke auch verschachteln, z.B. so:

$text=~s/<p class="txt4">(.*?$suchb.*?)</p>/my $korr=$1;$korr=~s#$suchb#$ersatz#g;'<p class="txt4">'.$korr.'</p>'/eg;

Eingesetzt wird das, was hinten rauskommt. Im Prinzip ist das auch nicht anders als deine Schleife, nur kürzer. Mit Look-Aheads und Look-Behinds kommt man hier glaube ich nicht weiter, weil dabei keine Zeichenketten von variabler Länge erlaubt sind.