Zum Hauptinhalt springen

Texte mit Gruppen zerlegen

Beispiel

import re

m = re.fullmatch(r"(\w+)-(\d+)", "level-12")
if m:
print(m.group(1)) # level
print(m.group(2)) # 12

Klammern erzeugen Gruppen, die du einzeln holen kannst.

Datum grob

m = re.fullmatch(r"(\d{2})\.(\d{2})\.(\d{4})", "15.07.2026")
if m:
tag, monat, jahr = m.group(1), m.group(2), m.group(3)
print(jahr, monat, tag)

Rate mal!

Was ist group(0)?

Auflösung

Meist der gesamte Match.

Probiere es selbst

Experiment 1

name-nummer Pattern.

Experiment 2

group(1)/group(2).

Experiment 3

Entpacken in Variablen.

Übungen

Level 1

Ein Muster mit 2 Gruppen.

Level 2

PLZ und Ort grob: 12345 Berlin.

Level 3

Funktion parse_level("level-3").

Level-3-Lösung
import re

def parse_level(text: str) -> int | None:
m = re.fullmatch(r"level-(\d+)", text)
return int(m.group(1)) if m else None

Mini-Quiz

Mini-QuizWofuer sind Klammern in Regex oft da?

Gruppen sitzen! Als Nächstes: ersetzen.