Font
[thread]7474[/thread]

reguläre Ausdrücke: Variable nicht interpretieren

Readers: 2


<< >> 5 entries, 1 page
beaucarnea
 2005-11-15 17:20
#60180 #60180
User since
2005-11-15
1 article
BenutzerIn
[default_avatar]
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?
pq
 2005-11-15 17:24
#60181 #60181
User since
2003-08-04
12207 articles
Admin1
[Homepage]
user image
perldoc perlre (\Q und \E)
bzw.
perldoc -f quotemeta
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
ptk
 2005-11-16 02:19
#60182 #60182
User since
2003-11-28
3645 articles
ModeratorIn
[default_avatar]
Oder bei so einfachen Abfragen gleich index() verwenden.
lichtkind
 2005-11-16 11:21
#60183 #60183
User since
2004-03-22
5679 articles
ModeratorIn + EditorIn
[Homepage]
user image
genau weils auch schneller ist als regex
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2005-11-16 18:07
#60184 #60184
User since
2003-08-04
5246 articles
ModeratorIn
[Homepage] [default_avatar]
vor der verwendung von &reg;index empfiehlt sich aber nochmal perldoc -f index ... denn bei index steht der rueckgabewert 0 nicht fuer nicht gefunden...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 5 entries, 1 page



View all threads created 2005-11-15 17:20.