Direkt zum Hauptinhalt springen
eLearner.app
Modul 4 · Lektion 1 von 413/32 im Kurs~10 min
Lektionen des Moduls (1/4)

Erfassungsgruppen: `(...)`

Klammern (...) haben zwei Funktionen in einer:

  1. Gruppieren von Untermustern, sodass ein Quantifizierer für die gesamte Gruppe gilt ((ab)+ matcht ab, abab, ababab).
  2. Erfassen (Capture) des übereinstimmenden Teilstrings, wodurch er als nummerierte Gruppe separat zugänglich gemacht wird (Gruppe 1, 2, 3... von links nach rechts basierend auf der öffnenden Klammer).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

Der Editor rechts zeigt die Gruppen unter jedem Treffer an.

Quantifizierung einer Gruppe

Ohne Klammern bedeutet ab+ "a gefolgt von einem oder mehreren b". Mit Klammern wird es zu "ein oder mehrere ab":

Code
Pattern   Matcha su 'ababab':
ab+       'ab' (poi 'a' e 'b' separati, non collegati)
(ab)+     'ababab' come gruppo unico

Erfassungsgruppen-Indizes und Verwendung

Jedes Paar runder Klammern, dem keine Sonderzeichen vorangestellt sind, erstellt eine nummerierte Erfassungsgruppe. Gruppe 1 entspricht der ersten öffnenden Klammer, Gruppe 2 der zweiten und so weiter. In JavaScript kannst du auf diese Gruppen über das Array zugreifen, das von exec oder matchAll zurückgegeben wird.

Probiere es aus

Übung#regex.m4.l1.e1
Versuche: 0Wird geladen…

Finde jedes Datum im Format JJJJ-MM-TT und erfasse Jahr, Monat und Tag als drei separate Gruppen.

Editor wird geladen…
Hinweis anzeigen

Schließe jeden der drei Ziffernblöcke in Klammern ein: Jeder Block erstellt eine nummerierte Gruppe.

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

Übung#regex.m4.l1.e2
Versuche: 0Wird geladen…

Finde jede Wiederholung von `ab` (eine oder mehrere) als einen einzigen Treffer. Ohne Klammern würde der Quantifizierer nur für das letzte `b` gelten.

Editor wird geladen…
Hinweis anzeigen

(ab)+ behandelt 'ab' als Einheit und sucht nach einer oder mehreren aufeinanderfolgenden Wiederholungen.

Lösung nach 3 Versuchen verfügbar

Zusätzliche Herausforderung

Übung#regex.m4.l1.e3
Versuche: 0Wird geladen…

Erstelle drei Erfassungsgruppen, um Tag, Monat und Jahr separat aus Datumsangaben im Format `TT/MM/JJJJ` zu extrahieren.

Editor wird geladen…
Hinweis anzeigen

Schließe jedes \d{2} oder \d{4} in Klammern ein.

Lösung nach 3 Versuchen verfügbar