Thread Matching mit Klammern geht nicht
(8 answers)
Opened by Leonie at 2017-12-11 19:53
Hallo,
die runden Klammern haben eine Sonderfuktion im regulären Ausdruck (Regex), die hier bei Deinem Beispiel greift. Damit wird das eingefangen, was innerhalb der Klammern steht. Wenn Du /$s/ verwendest, wird das, was in $s steckt als Regex gewertet und die Klammern bekommen eine Sonderbedeutung. Beispiele: Wenn Du nur prüfen willst, ob zwei Variablen identische Strings enthalten, verwende eq: Code: (dl
)
1 $s="a (b) c"; Wenn Du per Regex prüfen willst, aber keine Interpretation der Sonderzeichen wünschst: Code: (dl
)
1 $s="a (b) c"; Wenn Du die einfangende Klammer nutzen willst, musst Du bedenken, dass sie im Regex zusätzlich zum "normalen" Text angegeben werden muss: Code: (dl
)
1 $s="a (b) c"; Mehr dazu findest Du in der dazugehörigen Dokumentation: perlretut perlre perlrequick meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |