Konstrukte für Reguläre Expressions, Reguläre Ausdrücke:

Split Escape Character#

Splitten eines Strings a;b;c\;d in {"a", "b", "c\;d"}:
(?<=[^\\\\]);

XML#

Nur Opening-Tags#

<(?!/)([^>]+)(?<!/)>

Non-Capturing#

Nicht enthaltene Zeichenketten#

In Fällen, in denen Zeichenketten nicht enthalten sein sollen, können in zwei Fälle unterschieden werden:
  • Nicht dahinter: Der sogenannte "Zero-Width Negative Lookahead" kann verwendet werden, um etwas zu beschreiben was hinter einer Zeichenkette nicht erscheinen darf. Der Ausdruck (?!X) besagt, dass sich der Ausdruck X hinter dem vorausgehenden Ausdruck befinden darf. Zum Beispiel findet <(?!/) nur <-Zeichen, die nicht von /-Zeichen gefolgt sind.
  • Nicht davor: Umgekehrt können mit dem "Zero-Width Negative Lookbehind" Zeichenketten gefunden werden, bei denen sich ein Ausdruck nicht davor beifindet. Der Ausdruck (?<!X) besagt, dass sich der Ausdruck X nicht vor dem darauf folgenden Ausdruck befinden darf. Zum Beispiel findet (?<!/)> nur >-Zeichen, denen kein /-Zeichen vorausgeht.