Grundsyntax
Reguläre Ausdrücke sind mächtige Text-Matching-Tools, die verwendet werden, um spezifische Muster in Strings zu finden, zu ersetzen oder zu validieren.
Was sind reguläre Ausdrücke?
Reguläre Ausdrücke sind Muster, die aus gewöhnlichen Zeichen und Sonderzeichen bestehen und verwendet werden, um Matching-Regeln für Strings zu beschreiben.
Einfache Beispiele:
hello - matches den String "hello"
\d - matches jede Ziffer
[a-z] - matches jeden Kleinbuchstaben
Grundlegende Komponenten
- Gewöhnliche Zeichen: matcht das Zeichen selbst direkt
- Metazeichen: Zeichen mit spezieller Bedeutung
- Quantifizierer: spezifizieren die Anzahl der Matches
- Zeichenklassen: matcht ein beliebiges Zeichen aus einer Gruppe
Metazeichen
Metazeichen sind Sonderzeichen, die in regulären Ausdrücken eine spezielle Bedeutung haben.
Häufige Metazeichen:
. - matches jedes Zeichen außer Zeilenvorschub
^ - matches den Anfang eines Strings
$ - matches das Ende eines Strings
* - matches 0 oder mehr des vorherigen Elements
+ - matches 1 oder mehr des vorherigen Elements
? - matches 0 oder 1 des vorherigen Elements
Quantifizierer
Quantifizierer spezifizieren, wie oft ein Zeichen oder eine Gruppe gematcht werden soll.
Häufige Quantifizierer:
{n} - matches genau n mal
{n,} - matches n oder mehr mal
{n,m} - matches zwischen n und m mal
Zeichenklassen
Zeichenklassen ermöglichen es Ihnen, ein beliebiges Zeichen aus einer Gruppe von Zeichen zu matchen.
Häufige Zeichenklassen:
[abc] - matches a, b oder c
[a-z] - matches jeden Kleinbuchstaben
[0-9] - matches jede Ziffer
[^abc] - matches jedes Zeichen außer a, b oder c
Gruppen
Gruppen ermöglichen es Ihnen, Quantifizierer auf mehrere Zeichen anzuwenden und gematchten Text zu erfassen.
Gruppen-Beispiele:
(abc) - matches "abc" als Gruppe
(abc)+ - matches eine oder mehrere "abc"-Gruppen
(a|b) - matches entweder "a" oder "b"
Anker
Anker spezifizieren die Position im String, an der ein Match auftreten soll.
Häufige Anker:
^ - String-Anfang
$ - String-Ende
\b - Wortgrenze
\B - Nicht-Wortgrenze
Flags
Flags modifizieren, wie der reguläre Ausdruck interpretiert wird.
Häufige Flags:
g - globales Matching (finde alle Matches)
i - Groß-/Kleinschreibung ignorieren
m - Mehrzeilenmodus
s - Punkt matcht Zeilenvorschub
Fortgeschrittene Techniken
Fortgeschrittene Techniken für reguläre Ausdrücke für komplexe Muster-Matching.
Fortgeschrittene Muster:
(?=pattern) - positive Lookahead
(?!pattern) - negative Lookahead
(?<=pattern) - positive Lookbehind
(? - negative Lookbehind
Übungsaufgaben
Testen Sie Ihr Wissen mit diesen praktischen Übungen.
Übung 1: E-Mail-Validierung
Erstellen Sie einen Regex zur Validierung von E-Mail-Adressen.
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Übung 2: Telefonnummer
Erstellen Sie einen Regex zum Matchen von Telefonnummern.
^1[3-9]\d{9}$
Übung 3: Datumsformat
Erstellen Sie einen Regex zum Matchen des YYYY-MM-DD Datumsformats.
^\d{4}-\d{2}-\d{2}$