Match-Objekte
Ein Match-Objekt ist ein Objekt mit
Informationen über Übereinstimmungen mit einem regulären Ausdruck
in einer Zeichenkette. Ein Match-Objekt kann erhalten werden,
indem folgende Methoden angewendet werden: fullmatch,
match,
search.
Informationen können aus einem Match-Objekt extrahiert werden mit Hilfe von grundlegenden Methoden.
Grundlegende Methoden, die auf Match-Objekte angewendet werden
| Methode | Zweck |
|---|---|
group |
Gibt die nullte Gruppe zurück. |
groups |
Gibt ein Tupel der Gruppen zurück. |
groupdict |
Gibt ein Wörterbuch der benannten Gruppen zurück. |
span |
Gibt den ersten und letzten Index des Tupels einer Gruppe zurück. |
start |
Gibt den ersten Index des Tupels einer Gruppe zurück. |
end |
Gibt den letzten Index des Tupels einer Gruppe zurück. |
Beispiel . Match-Objekt ohne Methode
Wenden wir die Methode match auf unsere
Zeichenkette an:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Ergebnis der Codeausführung:
<re.Match object; span=(0, 3), match='123'>
Beispiel . Methode group
Geben wir nun die nullte Gruppe
aus dem Match-Objekt mit der Methode group aus:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Ergebnis der Codeausführung:
'123'
Beispiel . Methode groups
Wenden wir auf das erhaltene Objekt die
Methode groups an, um die Tupel
der Gruppen auszugeben:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Ergebnis der Codeausführung:
('1', '2')
Beispiel . Methode groupdict
Um das Wörterbuch der benannten Gruppen auszugeben,
kann die Methode groupdict angewendet werden:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Ergebnis der Codeausführung:
{'test1': '1', 'test2': '2'}
Beispiel . Methode span
Geben wir das Tupel aus dem ersten und
dem letzten Index einer Gruppe aus. Dafür
verwenden wir die Methode span:
res = re.match('\d+', txt)
print(res.span())
Nach der Codeausführung sehen Sie ein Tupel, bestehend aus zwei Indizes. Beachten Sie dabei jedoch, dass der letzte Wert um eins größer ist als der Endindex:
(0, 3)
Beispiel . Methoden start und end
Um jeden der Indizes separat zurückzugeben,
können die Methoden start
und end angewendet werden:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Ergebnis der Codeausführung:
0
3
Siehe auch
-
Methode
matchdes Modulsre,
die nach einer Übereinstimmung mit dem regulären Ausdruck am Anfang der Zeichenkette sucht -
Methode
fullmatchdes Modulsre,
die nach allen Übereinstimmungen mit dem regulären Ausdruck in der Zeichenkette sucht -
Methode
searchdes Modulsre,
die nach der ersten Übereinstimmung mit dem regulären Ausdruck in der Zeichenkette sucht