PHP/MySQL - Reguläre Ausdrücke - Grundlagen Teil 1
1. Die Abschnitte
- Einführung
- Befehle
- Grundlagen Teil 1
- Grundlagen Teil 2
- Der Backslash (\)
- Klammern
- Gierig und ungierig
- Rückbezüge
- Beispiele
2. Pattern, Delimiter, Modifier
Ein regulärer Ausdruck besteht aus den oben genannten Komponenten und sieht vom Prinzip her so aus.
delimiteranfang pattern delimiterende modifier
Delimiter
Diese "grenzen" das eigentliche Pattern (Suchmuster) ein, um es vom nachfolgenden Modifier zu trennen. Dabei kann man jedes nicht-alphanumerische Zeichen (also alles außer Buchstaben und Zahlen) verwenden. Der Backslash (\) darf nicht benutzt werden, den benötigt man für andere Aufgaben. Als eine Art Standard hat sich der Schrägstrich eingebürgert, es könnte aber auch zum Beispiel der Lattenzaun (#) oder Klammern sein.
Pattern
Dies ist das eigentliche Suchmuster. Dazu komme ich gleich.
Modifier
Hier kann man diverse Optionen einstellen, die die Art und Weise regeln, wie mit den zu untersuchenden Zeichenketten umgegangen werden soll. Ich stelle hier erst mal nur die drei Gängisten vor, eine komplette Übersicht zu diesem Thema findet ihr hier.
i
unterscheidet nicht zwischen Groß- und Kleinschreibung.m
behandelt eine Zeichenkette als Ganzes, auch wenn sie Zeilenumbrüche hat (nur bei^
und$
*).s
behandelt eine Zeichenkette als Ganzes, auch wenn sie Zeilenumbrüche hat (nur bei.
*).
* Siehe Metacharaktäre.
Man kann sich also den Aufbau eines regulären Ausdrucks in etwa so vorstellen:
/pattern/i
|pattern|im
3. Metacharactere
Hiermit kann man festlegen, wie ein Teil einer Zeichenkette behandelt wird. Will man diese Metacharactere dagegen als normale Zeichen behandeln, so müssen sie mit dem Backslash (\) "escaped" werden.
^
steht für den Beginn einer Zeichenkette.$
steht für das Ende einer Zeichenkette..
steht für ein beliebiges Zeichen außer dem Zeilenumbruch.|
steht für mögliche Alternativen (vergleichbar mit dem logischen Oder).()
hiermit können Teile eines Suchmusters zusammengefasst werden.[]
damit können so genannte Zeichenklassen festgelegt werden (Details kommen später).{}
hier können numerische Angaben zur Anzahl von Zeichen gemacht werden.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt