6.2.7 Zusammenfassung der Syntax

In der Tabelle wird die bisherige Syntax zusammengefasst dargestellt. Es handelt sich hierbei um einen Ausschnitt aus einer weit umfangreicheren Syntax.

Tabelle: Syntax regulärer Ausdrücke für PHP

Übersicht Sonderzeichen Erklärung
( ) Gruppiert die Elemente zu einem einzigen Element. Es muss eine Übereinstimmung in der Reihenfolge mit allen Elementen vorliegen, z.B. (tee).
(...|...|...) (tea|te).`
[ ] Bezeichnet eine Klasse von Elementen, die erkannt werden sollen. Es muss eine Übereinstimmung mit nur einem der Elemente vorliegen, z.B. [0-9].
Sonderzeichen der Mengenklammer sind [^ - / \], alle anderen Zeichen haben keine Sonderfunktion.
[^ ] Bezeichnet eine negierte Klasse von Elementen. Das Zeichen ^ negiert die gesamte Klasse.
Anmerkung: Der Operator gilt für die Negation nur in der Mengenklammer [ ], z.B. [^0-9].
\d bzw. Negation \D Digit (entsprechend [0-9]) bzw. nicht Digit (entsprechend [^0-9]).
\w bzw. Negation \W Alphanumerische Zeichen (Wort) entsprechend [a-zA-Z0-9_] bzw. nicht alphanumerische Zeichen entsprechend [^a-zA-Z0-9_].
\s bzw. Negation \S Whitespace (Leerzeichen und Tabulator) bzw. nicht whitespace.
\b bzw. Negation \B Wortgrenze (b = boundary) bzw. nicht Wortgrenze.
Bei der Wortgrenze handelt es sich nicht um ein eigenes Zeichen, sondern nur um eine Markierung. Eine Wortgrenze ist definiert als Übergang zwischen einem \W-Zeichen und einem \w-Zeichen (also vor einem \w-Zeichen oder hinter einem \w-Zeichen).
. Der „Punkt“ steht für ein beliebiges Zeichen (Ausnahme: Zeilenumbruch Newline).
{n,m} Wiederholungsintervall (gierig).
{n} genau n-mal
{n,} mindestens n-mal
{,m} maximal m-mal
{n,m} mindestens n-mal und maximal m-mal
{n,m}? Wiederholungsintervall (nicht-gierig).
? Das vorstehende Zeichen 0 oder 1-mal (gierig).
+ Das vorstehende Zeichen 1-mal oder beliebig oft (gierig).
* Das vorstehende Zeichen 0-mal oder beliebig oft (gierig).
?? Das vorstehende Zeichen 0 oder 1-mal (nicht-gierig).
+? Das vorstehende Zeichen 1-mal oder beliebig oft (nicht-gierig).
*? Das vorstehende Zeichen 0-mal oder beliebig oft (nicht-gierig).
^ Markiert, dass der Suchausdruck am Anfang stehen muss. Im Mehrzeilenmodus wird auch jedes Newline-Zeichen erkannt.
$ Erkennt das Zeilenende bzw. das Zeichen unmittelbar vor dem letzten Newline-Zeichen.
/ /i Modifikator: Groß-/Kleinschreibung ignorieren.
/ /s Modifikator: Single-line-Mode: Zeichenketten als eine einzige Zeile betrachten. Der Punkt-Operator gilt auch für das Newline-Zeichen.
/ /x Modifikator: Ignoriert Whitespace und erlaubt Kommentare (#). So kann bei längeren Suchmustern eine Formatierung zur besseren Lesbarkeit des Suchmusters vorgenommen werden, indem das Suchmuster über mehrere Zeilen geschrieben wird.

Wer sich mehr mit der Syntax beschäftigen möchte:

  • Wikibooks
  • RegExp Evaluator Tutorial
  • Sehr viele, professionelle Beispiele finden sind im Buch: Goyvaerts, Jan; Levithan, Steven: Reguläre Ausdrücke Kochbuch. [detaillierte Lösungen für acht Programmiersprachen; mit Einstiegs-Tutorial]. O'Reilly Verlag.
  • Stubblebine, Tony; Klicman, Peter; Schulten, Lars: Reguläre Ausdrücke. Kurz & gut. O'Reilly Verlag.

Und wer reguläre Ausdrücke aus Sicht der theoretischen Informatik kennen lernen möchte, der möge sich das folgende Video ansehen: