das \z wird in diesem Fall ein kleines ‚z‘ matchen; mit dem Escape-Zeichen Backslash wird das nachfolgende Zeichen literal übernommen -auch dann wenn es innerhalb einer RE eine Sonderbedeutung hätte; die Eigenschaft ‚Sonderbeutdeutung‘ ist aber kein Muss.
Der Ausdruck entfernt (ersetzt sie durch einen Leerstring) also aus dem String eine (nichtleere) Folge von Spaces (\s+) gefolgt von einem einzelnen z - wozu auch immer das gut sein soll, das muss dir schon der Autor sagen.
gruss
b.
Hallo,
ich finde hier in einem kleinen Perl-Programm folgenden
Regulaeren Ausdruck:
ich finde hier in einem kleinen Perl-Programm folgenden
Regulaeren Ausdruck:
$zwtext =~ s/\s+\z//;
das \z wird in diesem Fall ein kleines ‚z‘ matchen; mit dem
Escape-Zeichen Backslash wird das nachfolgende Zeichen literal
übernommen -auch dann wenn es innerhalb einer RE eine
Sonderbedeutung hätte; die Eigenschaft ‚Sonderbeutdeutung‘
ist aber kein Muss.
Der Ausdruck entfernt (ersetzt sie durch einen Leerstring)
also aus dem String eine (nichtleere) Folge von Spaces (\s+)
gefolgt von einem einzelnen z - wozu auch immer das gut sein
soll, das muss dir schon der Autor sagen.
escaped der backslash nicht nur meta characters? z ist keiner.
im gegensatz zum dollarzeichen, welches das „ende“ eines strings matcht, was aber auch direkt vor einem newline matchen kann, matcht \z das „echte“ ende eines strings.
es soll also sichergestellt sein, das wirklich bis zum ende gelöscht wird.
ist in dem fall aber eigentlich nicht notwendig, da \s+ auch schon newlines mit einschliesst.