Ein regulärer Ausdruck (englisch 'regular expression', Abkürzung RegExp oder RegEx) beschreibt ein Filterkriterium in einer Textsuche. CodX PostOffice verwendet RegEx in verschiedenen Modulen zu Extrahieren oder Filtern von Informationen.
RegEx Referenz
Zeichen Klassen
[characters] |
Passt auf alle Zeichen in 'characters' |
Beispiel |
[^characters] |
Passt auf alle Zeichen, ausser jene in 'characters' |
Beispiel |
[first-last] |
Passt auf alle Zeichen im Bereich zwischen 'first' und 'last' |
Beispiel |
. |
Wildcard. Passt auf alle Zeichen, ausser \n |
Beispiel |
\w |
word character. Ein Buchstabe, eine Ziffer oder der Unterstrich, also [a-zA-Z_0-9] (und evtl. auch nicht-lateinische Buchstaben, z. B. Umlaute) |
Beispiel |
\W |
no word character. Ein Zeichen, das weder Buchstabe noch Zahl noch Unterstrich ist, also [^\w] |
Beispiel |
\s |
Whitespace. Meist zumindest das Leerzeichen und die Klasse der Steuerzeichen \f, \n, \r, \t und \v |
Beispiel |
\S |
ein Zeichen, das kein Whitespace ist, also [^\s] |
Beispiel |
\d |
Digit. Eine Ziffer, also [0-9] |
Beispiel |
\D |
No Digit. Ein Zeichen, das keine Ziffer ist, also [^\d] |
Beispiel |
Escape Zeichen
\r |
Zeilenumbruch carriage return. |
Beispiel |
\n |
Neue Zeile (new line) |
Beispiel |
\t |
Tabulator |
|
[\b] |
Backspace (muss genau so geschrieben sein!) |
|
\f |
Form Feed |
|
\e |
Escape |
|
\v |
Vertical Tab |
|
\a |
Bell |
|
\octal |
ASCII-Zeichen mit octal-Wert |
Beispiel |
\xhex |
ASCII-Zeichen mit hex-Wert |
Beispiel |
\uunicode |
Unicode-Zeichen |
Beispiel |
\ccharacter |
ASCII-Zeichen mit Character |
|
Anchors
^ |
Steht für den Zeilenanfang (nicht zu verwechseln mit ^ bei der Zeichenauswahl mittels [ und ]). |
Beispiel |
$ |
kann je nach Kontext für das Zeilen- oder Zeichenketten-Ende stehen, wobei bei manchen Implementierungen noch ein „\n“ folgen darf. Das tatsächliche Ende passt zu \z. |
Beispiel |
\b |
Leere Zeichenkette am Wortanfang oder am Wortende |
Beispiel |
\B |
Leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet |
Beispiel |
Gruppierungen
(subpattern) |
Gruppe ohne Name |
Beispiel |
(?<name>subpattern) |
Gruppe mit Name |
Beispiel |
(?:subpattern) |
Gruppe ohne Rückwärtsreferenz |
Beispiel |
Quantoren
? |
Der voranstehende Ausdruck ist optional, er kann einmal vorkommen, braucht es aber nicht, das heißt, der Ausdruck kommt null- oder einmal vor. (Dies entspricht {0,1} ) |
Beispiel |
+ |
Der voranstehende Ausdruck muss mindestens einmal vorkommen, darf aber auch mehrfach vorkommen. (Dies entspricht {1,} ) |
Beispiel |
* |
Der voranstehende Ausdruck darf beliebig oft (auch keinmal) vorkommen. (Dies entspricht {0,} ) |
Beispiel |
{n} |
Der voranstehende Ausdruck muss exakt n-mal vorkommen. (Dies entspricht {n,n} ) |
Beispiel |
{n,} |
Der voranstehende Ausdruck muss mindestens min-mal vorkommen. |
Beispiel |
{n,m} |
Der voranstehende Ausdruck muss mindestens min-mal und darf maximal max-mal vorkommen. |
Beispiel |
Bedingte Ausdrücke
| |
Logisches ODER |
Beispiel |
(?(subpattern)yes|no) |
Wenn der gegebene Ausdruck subpattern gefunden wird, kommt der yes-Ausdruck zur Anwendung. Wenn der Suchausdruck nicht gefunden werden kann, kommt der no-Ausdruck“ zur Anwendung. |
Beispiel |
Weitere Informationen
Unter den nachfolgenden Links sind weitere Informationen zum Thema RegEx zu finden.