Gruppenerfassung in der search-Methode von Python
Oft ist es beim Suchen von Übereinstimmungen praktisch, die Teilzeichenkette in sogenannte Gruppenerfassung (Capturing Groups) aufzuteilen. Sie stellen eine Möglichkeit dar, den gefunden Text in separate Teile zu zerlegen. Um sie zu verwenden, muss ein Teil des regulären Ausdrucks in runde Klammern eingeschlossen werden.
Lassen Sie uns das praktisch ausprobieren. Angenommen, wir haben die folgende Zeichenkette:
txt = '123 456'
Lassen Sie uns die Teilzeichenketten mit Zahlen in Gruppenerfassung aufteilen. Dazu schreiben wir den folgenden regulären Ausdruck:
res = re.search('(\d+) (\d+)', txt)
Als Ergebnis erhalten wir ein Match-Objekt. In
seinem Element mit dem Index 1 wird
die erste Gruppenerfassung liegen, im Element mit dem Index
2 - die zweite Gruppenerfassung, und im Element mit dem
Index 0 - der gesamte gefundene Text (die
sogenannte nullte Gruppenerfassung):
print(res[0]) # '123 456' - der gesamte Fund
print(res[1]) # '123' - 1. Gruppenerfassung
print(res[2]) # '456' - 2. Gruppenerfassung
Gegeben ist eine Zeichenkette, die eine Domain enthält:
txt = 'sss domain.ru zzz'
Finden Sie diese Domain und speichern Sie ihren Namen in der ersten Gruppenerfassung und die Zone in der zweiten.
Gegeben ist eine Zeichenkette, die ein Datum enthält:
txt = '31.12.2025'
Speichern Sie den Tag in der ersten Gruppenerfassung, den Monat - in der zweiten und das Jahr - in der dritten.