Ein regulärer Ausdruck (Abk. RegExp oder Regex, engl. regular expression) ist eine Zeichenkette, die der Beschreibung von Mengen beziehungsweise Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.
Klammerungen
Mit eckigen Klammern lässt sich eine Zeichenauswahl definieren. Der Ausdruck in eckigen Klammern steht dann für genau ein Zeichen aus dieser Auswahl (Einzeichenmuster).
Ausdrücke lassen sich mit runden Klammern zusammenfassen: Etwa erlaubt "(abc)+" ein "abc" oder ein "abcabc" etc.
Einige Programme speichern die Gruppierung ab und ermöglichen deren Wiederverwendung im Regulären Ausdruck oder bei der Textersetzung.
Ein Zeichen aus einer Auswahl
[.] Ein Punkt bedeutet, dass an seinem Platz ein (fast) beliebiges Zeichen stehen kann.
[egh] eines der Zeichen "e", "g" oder "h"
[0-6] eine Ziffer von "0" bis "6" (Bindestriche sind Indikator für einen Bereich)
[A-Za-z0-9] ein beliebiger lateinischer Buchstabe oder eine beliebige Ziffer
[^a] ein beliebiges Zeichen außer "a"
Vordefinierte Zeichenklassen
Es gibt vordefinierte Zeichenklassen, die allerdings nicht von allen Implementationen unterstützt werden, da sie lediglich Kurzformen sind und auch durch eine Zeichenauswahl beschrieben werden können. Wichtige Zeichenklassen sind:
\d eine Ziffer? [0-9]
\D keine Ziffer [^0-9]
\w ein Buchstabe, eine Ziffer oder der Unterstrich [a-zA-Z_0-9]
\W kein Buchstabe, keine Zahl und kein Unterstrich [^\w]
\s Whitespace, meistens [ \f\n\r\t\v]
\S alle Zeichen außer Whitespace [^\s]
Quantoren
? Der voranstehende Ausdruck ist optional, er kann einmal vorkommen, muss es aber nicht, d. h. der Ausdruck kommt null- oder einmal vor.
+ Der voranstehende Ausdruck muss mindestens einmal vorkommen, darf aber auch mehrfach vorkommen.
* Der voranstehende Ausdruck darf beliebig oft (auch keinmal) vorkommen.
{n} Der voranstehende Ausdruck muss exakt n-mal vorkommen.
{min,} Der voranstehende Ausdruck muss mindestens min-mal vorkommen.
{,max} Der voranstehende Ausdruck darf maximal max-mal vorkommen.
{min,max} Der voranstehende Ausdruck muss mindestens min-mal und darf maximal max-mal vorkommen.
Weitere Zeichen
^ steht für den Zeilenanfang
$ kann je nach Kontext für das Zeilen- oder Stringende stehen.
\ Escapesequenz? um die Metabedeutung des nächsten Zeichens aufzuheben
\b steht für die leere Zeichenkette? am Wortanfang oder am Wortende.
\B steht für die leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet.
\< steht für die leere Zeichenkette am Wortanfang.
\> steht für die leere Zeichenkette am Wortende.