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}$