[Perl] RegEx - Zeichen aus Variable escapen

fLuChTzW3rG

Commander
Registriert
Juli 2003
Beiträge
2.060
Einen wunderschönen guten Tag wünsch ich euch...

also ich habe folgenden Code, welcher auch super funktioniert.

if ($_ =~ /$search_for/ig){
push (@temp, ($_)) ;
}

$search_for kommt vom STDIN und wird dann in diese Variable gepackt. Wenn ich jetzt jedoch nach Dateiendungen wie z.b. ".avi" suchen möchte taucht das Problem auf, das der "." nicht escaped wird und somit alle Ausdrücke die "avi" enthalten gesucht werden was ich ja nicht möchte, er soll ".avi" suchen.
Gibt es in der Schweizer Kettensäge :D eine Funktion um Zeichen in einer Variable zu escapen?

schön einmal vielen Dank für eure Hilfe...

Gruß
 
Ich würd die Variable entsprechend modifizieren, dass die Escapesequenz eingebaut wird und danach dann die regex anwenden.
Das wär zumindest meine erste Notlösung bis ich die richtige Lösung heraus hätte :>
 
Hallo,

in PHP heisst die Funktion "preg_quote" :). Keine Ahnung ob es sowas auch in Perl gibt.


greeTz
waYan
 
Danke euch. Leider habe ich unter Perl keine solche Funktion gefunden, ich habe es jetzt ein if eingebaut, was prüft ob der input einen Punkt enthält und wenn dies der Fall ist, wird die Variable geändert...
Die Lösung ist zwar nicht schön, aber selten :p

Dank nochmal
 
Aber dran denken, dass bei regulären Ausdrücken auch andere Zeichen besonders behandelt werden. Das funktioniert also nur bei Spezialfällen :S
 
Zurück
Oben