Die Methode finditer des Moduls re
Die Methode finditer des Moduls re
gibt einen Iterator aller Übereinstimmungen mit einem regulären Ausdruck
in einem String zurück. Im ersten Parameter der Methode geben wir
den regulären Ausdruck an. Im zweiten Parameter setzen wir
den String, in dem wir nach dem regulären Ausdruck suchen. Im dritten
optionalen Parameter können Flags gesetzt werden.
Die Methode prüft alle Übereinstimmungen, indem sie
von links nach rechts sucht.
Syntax
import re
re.finditer(regulärer_ausdruck, string, [flags])
Beispiel
Lassen Sie uns alle Teilzeichenketten mit Ziffern in unserem String finden:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Ergebnis der Codeausführung:
<callable_iterator object at 0x000002AA891300A0>
Beispiel
Deklarieren wir nun eine Variable res,
deren Wert das Objekt ist, das wir
im vorherigen Beispiel erhalten haben. Durchlaufen wir es
dann mit einer Schleife:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Nach der Ausführung des Codes erhalten wir zwei Match-Objekte:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Diese Objekte enthalten Informationen über alle Übereinstimmungen mit dem regulären Ausdruck in Form eines Tupels. Wir können die Übereinstimmungen daraus über den Index ausgeben:
for el in res:
print(el[0])
Ergebnis der Codeausführung:
'123'
'456'
Beispiel
Zur besseren Veranschaulichung verwenden wir beim Suchen von Übereinstimmungen Gruppen (Capturing Groups). Beim Durchlaufen der Objekte in der Schleife geben wir die erste Übereinstimmung aus (sie gilt als Gruppe 0), sowie ihre Elemente, die wiederum ebenfalls auf Gruppen verteilt sind:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Nach der Ausführung des Codes erhalten wir Gruppe 0, d.h. die gesamte Teilzeichenkette, sowie das erste und zweite Zeichen aus dieser Teilzeichenkette:
'12' '1' '2'
'45' '4' '5'
Siehe auch
-
die Methode
findalldes Modulsre,
die eine Liste aller Übereinstimmungen in einem String zurückgibt -
die Methode
searchdes Modulsre,
die die erste Übereinstimmung mit einem regulären Ausdruck in einem String sucht -
die Methode
matchdes Modulsre,
die eine Übereinstimmung mit einem regulären Ausdruck am Anfang eines Strings sucht -
die Methode
fullmatchdes Modulsre,
die alle Übereinstimmungen mit einem regulären Ausdruck in einem String sucht -
das Objekt
Match objectdes Modulsre,
das Informationen über Übereinstimmungen mit einem regulären Ausdruck enthält -
die Methode
splitdes Modulsre,
die einen String anhand eines angegebenen Trennzeichens in eine Liste aufteilt