User since
2005-11-15
1
Artikel
BenutzerIn
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte in einem regulären Ausdruck prüfen, ob der Inhalt eines Strings ($string2) in einem anderen String ($string) enthalten ist. Das Problem dabei ist, dass in $string2 Sonderzeichen enthalten sein können.
Beispiel:
$string="blablabla";
$string2="*hallo";
if ($string=~/$string2/){...};
Perl generiert dann die Fehlermeldung "Quantifier follows nothing in regex;"
Wie kann ich vermeiden, dass Perl den Inhalt von $string2 als Teil des regulären Ausdrucks betrachtet?
User since
2003-08-04
12208
Artikel
Admin1
perldoc perlre (\Q und \E)
bzw.
perldoc -f quotemeta
User since
2003-11-28
3645
Artikel
ModeratorIn
Oder bei so einfachen Abfragen gleich index() verwenden.
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
genau weils auch schneller ist als regex
User since
2003-08-04
5246
Artikel
ModeratorIn
vor der verwendung von ®index empfiehlt sich aber nochmal perldoc -f index ... denn bei index steht der rueckgabewert 0 nicht fuer nicht gefunden...