Ich bin es leid, immer zu raten, ob ich Sonderzeichen wie ' ()[]{}|
' usw., wenn viele Implementierungen von Regexps verwendet werden.
Anders verhält es sich zum Beispiel mit Python, sed, grep, awk, Perl, rename, Apache, find und so weiter. Gibt es eine Regel, die mir sagt, wann ich Sonderzeichen auslassen sollte und wann nicht? Hängt das vom Regexp-Typ ab, wie PCRE, POSIX oder erweiterte Regexps?
5 Stimmen
Gute Regex-Bibliotheken haben Funktionen wie "
escape()
", um die Verwendung beliebiger Zeichenketten als Regex-Teile zu ermöglichen.2 Stimmen
Sie können Online-Regex-Ausdrucksprüfungen verwenden wie gskinner.com/RegExr (es ist kostenlos). (Tippen Sie ein und fahren Sie dann mit der Maus über die eingegebene Regex)
0 Stimmen
In PHP können Sie verwenden php.net/preg_quote
2 Stimmen
Alle nicht-alphanumerischen Zeichen werden durchgestrichen. Punkt.
2 Stimmen
Diese Frage wurde in die Stack Overflow Reguläre Ausdrücke FAQ unter "Sonstiges".
1 Stimmen
Diese Frage wurde in die Stack Overflow Reguläre Ausdrücke FAQ unter "Fluchtsequenzen".
1 Stimmen
Siehe auch
\Q
...\E
fliehen.\Qhello?\E
passt zu "hallo?", aber nicht zu "hell" oder "hello". Funktioniert zumindest in PCRE/PHP/Perl/Go0 Stimmen
Wie verhält es sich mit einfachen und doppelten Anführungszeichen und "/", wie kann man diese in der BRE- und ERE-Syntax (außerhalb der Zeichenklasse) umgehen?