Thread Inhalt zwischen 2 Ausdrücken entfernen
(14 answers)
Opened by stb2050 at 2005-03-22 13:38
[quote=esskar,22.Mar..2005, 12:44]
Code: (dl
)
$var =~ s!($pattern).*($pattern)!$1$2!g; Sollte nicht der Match samt Begrenzer beseitigt werden? Also Eher Code: (dl
)
$var =~ s!($pattern).*($pattern)!!; # zu /g siehe unten [quote=esskar,22.Mar..2005, 12:46]das g am Ende brauchst du nur dann, wenn mehrere solcher <!--abc-->Das soll alles weg<!--abc--> Teilstücke in dem String vorkommen![/quote] nö, da .* gierig ist, wird es sowieso nur 1mal passen. Folgendes geht ebenfalls: Code: (dl
)
$var =~ s!($pattern).*(\1)!!; Wenn die Match-Zeichenkette aus der Variablen RegExp-Metazeichen enthalten könnte (hier im Bsp. nicht der Fall), ist man auf der sicheren Seite, wenn man [perldoc=-f quotemeta]-f quotemeta[/perldoc](<- non-functional Link ;) ) verwendet oder das entsprechenden \Q\E escape. Ausser man will natürlich RexExpe übergeben. I sense a soul in search of answers.
|