Begrenzungszeichen - Delimiter

Delimiter (engl. to delimit ⇒ einschränken, begrenzen) dienen in der Sprache PHP zum Abgrenzen des Suchmusters vom Rest des Regulären Ausdrucks. Als Delimiter kann theoretisch jedes nicht-alphanumerische Zeichen außer dem Backslash verwendet werden.

Delimiter sind in PHP notwendig, da hinter dem eigentlichen Suchmuster noch sogenannte Modifier notiert werden können, die das Verhalten des Ausdrucks beeinflussen können.

In der folgenden Tabelle sind ein paar der möglichen Delimiter aufgeführt.

Liste gängiger Begrenzungszeichen
Zeichen Bezeichnung Verwendet im Evaluator Anteil
& Ampersand 211374 mal 16,3%
/ Slash 211357 mal 16,3%
@ at 211345 mal 16,3%
# Raute 211343 mal 16,3%
~ Tilde 211319 mal 16,3%
! Ausrufezeichen 211211 mal 16,2%
= Gleichheitszeichen 31865 mal 2,5%

Sollten Sie selbst einen Delimiter benutzen, der nicht in der Liste aufgeführt ist, so teilen Sie mir das doch bitte mit, ich würde ihn dann gern der Vollständigkeit halber dieser Liste hinzufügen.

Delimiter als Zeichen im Suchmuster

Das als Delimiter verwendete Zeichen sollte sinnigerweise nicht im eigentlichen Suchmuster auftauchen, da es sonst als Delimiter interpretiert werden würde. Soll dieses Zeichen trotzdem im Suchmuster verwendet werden, gibt es zwei Möglichkeiten:

Fehlerquellen

Ein häufig auftretender Fehler ist das Weglassen der Delimiter. In diesem Falle gibt es (bis auf Ausnahmen) eine Fehlermeldung seitens PHP. Das Verwenden des Delimiters innerhalb des Suchmusters produziert ebenso eine Fehlermeldung. Welche das im Einzelfall ist, hängt von der Struktur des Regulären Ausdrucks ab. So erhält man bei einem vergessenen Delimiter in diesem Falle abcde@domain\.com die Fehlermeldung Delimiter must not be alphanumeric or backslash, da sowohl der einleitende als auch der schließende Delimiter ein alphanumerisches Zeichen sind - nämlich ein a (erstes Zeichen) beziehungsweise ein m (letztes Zeichen).

Im folgenden Beispiel @domain\.com aber erhält man die Fehlermeldung No ending delimiter found, da das erste Zeichen des Regulären Ausdrucks durchaus ein erlaubter Delimiter ist, aber kein abschließender Delimiter gleicher Art gefunden wurde.

Verwandte Themen
Kapitelnavigation