|
Zeichen
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
alle Zeichen außer [\^$.|?*+()
|
Alle Zeichen außer den gelisteten Sonderzeichen finden genau dieses eine Zeichen
|
a findet a
|
|
\ (backslash) gefolgt von einem dieser Zeichen: [\^$.|?*+()
|
Ein Backslash (Escapezeichen) unterdrückt die spezielle Bedeutung von Sonderzeichen
|
\+ findet +
|
|
\xFF wobei FF eine 2-stellige Hex-Zahl ist
|
Findet das Zeichen mit dem entsprechenden ASCII/ANSI Wert, in Abhängigkeit von der verwendeten Codepage. Kann in Zeichenklassen verwendet werden
|
\xA9 findet @ bei Verwendung der Latin-1 Codepage
|
|
\n, \r und \t
|
Findet LF, CR bzw. TAB-Zeichen
|
\r\n findet einen DOS/Windows Zeilenumbruch
|
|
Zeichenklassen (Character Classes) oder Zeichenmengen (Character Sets) [abc]
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
[ (öffnende eckige Klammer)
|
Beginnt eine Zeichenklasse. Eine Zeichenklasse findet alle Zeichen die durch sie definiert werden. Die Regeln in diesem Abschnitt gelten nur innerhalb einer Zeichenklasse, die anderen Regeln gelten dort nicht, außer \n, \r, \t und \xFF
|
./.
|
|
Alle Zeichen außer ^-]\
|
Alle Zeichen außer die aufgeführten Sonderzeichen stehen für ein gültiges Fundzeichen innerhalb der Klasse
|
[abc] findet a, b oder c
|
|
\ (backslash) gefolgt von einem dieser Zeichen: ^-]\
|
Ein Backslash (Escapezeichen) unterdrückt die spezielle Bedeutung von Sonderzeichen
|
[\]\^] findet ^ oder ]
|
|
- (Minuszeichen)
|
Bezeichet eine Reihe von Zeichen, bzw. ein Minuszeichen wenn es direkt nach der öffnenden eckigen Klammer folgt
|
[a-zA-Z0-9] findet jeden Buchstaben außer Umlaute und jede Ziffer
|
|
^ (Hochzeichen)
|
Negiert die Zeichenklasse, findet also alle Zeichen, die nicht in der Klasse vorkommen. Wenn es nicht direkt nach [ steht, bedeutet es ein Hochzeichen (sich selbst also)
|
[^a-d] findet z.B. x (jedes Zeichen das nicht a, b, c oder d ist.
|
|
\d, \w und \s
|
Kurzzeichen für vordefinierte Zeichenklassen: \d steht für Ziffern 0-9, \w steht für alphanumerische Zeichen (vorsicht, meist ohne Umlaute!) und \s steht für whitespace (Leerzeichen)
|
[\d\s] findet entweder eine Ziffer oder ein Leerzeichen.
|
|
\D, \D und \D
| Wie oben, nur negiert. Sollten außerhalb von Zeichenklassenverwendet werden. (technisch gesehen können sie innerhalb verwendet werden, das ist jedoch ziemlich verwirrend)
|
\D findet ein Zeichen, dass keine Ziffer ist.
|
|
Der Punkt (.)
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
. (Punkt)
| Findet jedes einzelne Zeichen außer den Zeilenumbruchszeichen /r und /n. Die meisten regex-Implementieren können per Option so konfiguriert werden, dass die Zeilenumbrüche auch durch den Punkt gefunden werden.
|
. findet z.B. x oder (fast) jedes andere Zeichen
|
|
Anker (Stringanfang und -ende)
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
^ (Hochzeichen)
| Bedeutet dass das nachfolgende Pattern nur am Stringanfang gilt. Die meisten regex-Inplementierungen bieten eine Option, dass ^ auch die Position nach einem Zeilenumbruch abdeckt.
|
^. findet a in adc\ndef. Findet auch d im "Multi-Line" Modus.
|
|
$ (Dollarzeichen)
| Bedeutet dass das nachfolgende Pattern nur am Stringende gilt. Die meisten regex-Inplementierungen bieten eine Option, dass $ auch die Position vor einem Zeilenumbruch abdeckt.
|
.$ findet f in adc\ndef. Findet auch c im "Multi-Line" Modus.
|
|
\A
| Bedeutet dass das nachfolgende Pattern nur am Stringanfang gilt. Bedeutet nie das Zeichen nach einem Zeilenumbruch
|
\A. findet a in adc\ndef.
|
|
\Z
| Bedeutet dass das nachfolgende Pattern nur am Stringende gilt. Bedeutet nie das Zeichen vor einem Zeilenumbruch
|
.\Z findet f in adc\ndef.
|
|
Wortgrenzen
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
\b
| Bestimmt die Position zwischen einem alphanumerischen Zeichen und dem Gegenteil davon (also allen anderen Zeichen inkl. Space und Stringgrenzen). In der Praxis kann man damit Wortgrenzen erkennen. Das Bespiel findet das letzte Zeichen eines Wortes.
|
.\b findet c in abc.
|
|
\B
| Bestimmt die Position zwischen zwei alphanumerischen Zeichen (\w\w) oder zwei nicht-alphanumerischen Zeichen (\W\W). In der Praxis kann man damit die Suche auf die Zeichen innerhalb von Wörtern beschränken.
|
\B.\B findet b in abc.
|
|
Alternativen
|
|
Zeichenfolge
|
Beschreibung
|
Beispiel
|
|
| (Pipe-Symbol)
| Findet entweder die linke oder die rechte Seite des Pipe-Zeichens. Kann kaskadiert werden um mehr als zwei Alternativen zu verwenden
|
abc|def|xyz findet abc, def oder xyz
|
|
| (Pipe-Symbol)
| Das Pipe-Zeichen hat die niedrigste Priorität aller Operatoren. Um nur Teile des Ausdrucks als Alernative zu verwenden muß man mit Klammern gruppieren.
|
abc(def|xyz) findet abcdef oder abcxyz
|
Ist noch lange nicht vollständig. Dranbleiben.
...tbc...