Für einen regulären Ausdruck müssen Sie eine bestimmte Syntax verwenden, d. h. Sonderzeichen und Konstruktionsregeln. Der folgende einfache reguläre Ausdruck entspricht z. B. einer 10-stelligen Telefonnummer mit dem Muster „nnn-nnn-nnnn“:
\d{3}-\d{3}-\d{4}
Die folgende Tabelle enthält einige der häufigsten Sonderzeichen, die für reguläre Ausdrücke verwendet werden. Diese Zeichen werden so kategorisiert:
| Zeichen | Beschreibung |
|---|---|
| Anker | |
| ^ | (Caret-Zeichen) Entspricht dem Anfang der Zeile oder Zeichenkette, die der reguläre Ausdruck sucht. Beispiel: Eine Inhaltsregel mit „Betreffzeile“ als Position und dem folgenden regulären Ausdruck: ^abc Findet alle E‑Mails, deren Betreff mit den Buchstaben abc beginnt. |
| $ | (Dollar-Zeichen) Entspricht dem Ende der Zeile oder Zeichenkette, die der reguläre Ausdruck sucht. Beispiel: Eine Inhaltsregel mit „Betreffzeile“ als Position und dem folgenden regulären Ausdruck: xyz$ Findet alle E‑Mails, deren Betreff mit den Buchstaben xyz endet. |
| Metazeichen | |
| . | (Punkt) Entspricht jedem einzelnen Zeichen, mit Ausnahme neuer Zeilen. |
| | | (Pipe) Zeigt eine Alternation an, d. h. ein „oder“. Beispiel: katze|hund entspricht den Wörtern katze oder hund. |
| \ | Zeigt an, dass das nächste Zeichen ein Buchstabe und kein Sonderzeichen ist. Beispiel: \. entspricht einem literalen Punkt und nicht einem beliebigen Zeichen (Punktzeichen). |
| Zeichenklassen | |
| [...] | Entspricht jedem Zeichen aus einer Reihe von Zeichen. Trennen Sie das erste und das letzte Zeichen mit einem Gedankenstrich. Beispiel: [123] entspricht der Ziffer 1, 2 oder 3. [a-f] entspricht einem Buchstaben von a bis f. Hinweis:Bei regulären Ausdrücken in Richtlinien zur Inhaltscompliance wird die Groß-/Kleinschreibung beachtet. |
| [^...] | Entspricht jedem Zeichen, das sich nicht in einer Reihe von Zeichen befindet. Beispiel: [^a-f]entspricht jedem Zeichen, das kein Buchstabe von a bis f ist. Hinweis:Bei regulären Ausdrücken in Richtlinien zur Inhaltscompliance wird die Groß-/Kleinschreibung beachtet. |
| [:alnum:] | Entspricht alphanumerischen Zeichen, d. h. Buchstaben oder Ziffern: a-z, A-Z oder 0-9 Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:alnum:]]. |
| [:alpha:] | Entspricht alphabetischen Zeichen, d. h. Buchstaben: a-z oder A-Z Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:alpha:]]. |
| [:digit:] | Entspricht Ziffern: 0-9 Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:digit:]]. |
| [:graph:] | Entspricht nur sichtbaren Zeichen, d. h. allen Zeichen außer Leerzeichen, Steuerzeichen usw. Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:graph:]]. |
| [:punct:] | Entspricht Interpunktionszeichen und Symbolen: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } Hinweis: Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:punct:]]. |
| [:print:] | Entspricht sichtbaren Zeichen und Leerzeichen. Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:print:]]. |
| [:space:] | Entspricht allen Whitespace-Zeichen einschließlich Leerzeichen, Tabulatorzeichen und Zeilenumbrüchen. Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:space:]]. |
| [:word:] | Entspricht jedem Textzeichen, d. h. jedem Buchstaben, jeder Ziffer und Unterstrichen: a-z, A-Z, 0-9 oder _ Hinweis:Diese Zeichenklasse muss in zwei weiteren eckigen Klammern eingeschlossen sein, wenn Sie sie in einem regulären Ausdruck verwenden, z. B.: [[:word:]]. |
| Abkürzungen für Zeichenklassen | |
| \w | Entspricht jedem Textzeichen, d. h. jedem Buchstaben, jeder Ziffer und Unterstrichen: a-z, A-Z, 0-9 oder _ Gleichbedeutend mit [:word:] |
| \W | Entspricht jedem Zeichen, das kein Textzeichen ist, d. h. jedem Zeichen, das kein Buchstabe, keine Ziffer und kein Unterstrich ist. Gleichbedeutend mit [^[:word:]] |
| \s | Entspricht einem beliebigen Leerraumzeichen. Beispiel: Mit diesem Zeichen können Sie beispielsweise ein Leerzeichen zwischen Wörtern in einer Wortgruppe einfügen: stockstips entspricht der Wortgruppe stock tips. Gleichbedeutend mit [:space:] |
| \S | Entspricht jedem Zeichen, das kein Whitespace-Zeichen ist. Entspricht [^[:space:]] |
| \d | Entspricht jeder Ziffer von 0–9. Gleichbedeutend mit [:digit:] |
| \D | Entspricht jedem Zeichen, das keine Ziffer von 0–9 ist. Entspricht [^[:digit:]] |
| Gruppe | |
| (...) | Gruppiert Teile eines Ausdrucks. Verwenden Sie Gruppierungen, um einen Quantifikator auf eine Gruppe anzuwenden oder um eine Zeichenklasse vor oder nach einer Gruppe zu suchen. |
| Quantifikatoren | |
| {n} | Entspricht dem vorherigen Ausdruck genau n-mal. Beispiel: [a-c]{2} entspricht nur dann einem Buchstaben von a bis c, wenn zwei Buchstaben hintereinanderstehen. Der Ausdruck entspricht also ab und bc, nicht aber abc oder aabbc. |
| {n,m} | Entspricht dem vorherigen Ausdruck mindestens n-mal und maximal m-mal. Beispiel: [a-c]{2,4} entspricht nur dann einem beliebigen Buchstaben von a bis c, wenn die Buchstaben mindestens zweimal und höchstens viermal hintereinanderstehen. Der Ausdruck entspricht also ab und abc, aber nicht aabbc. |
| ? | Gibt an, dass das vorangehende Zeichen oder der vorangehende Ausdruck keinmal oder einmal zutreffen kann. Gleichbedeutend mit dem Bereich {0,1}. Beispiel:Der reguläre Ausdruck colou?r entspricht z. B. colour oder color, da mit dem ? angegeben wird, dass der Buchstabe u optional ist. |