In einem Programm, das ich schreibe, habe ich Python die Funktion re.search()
verwendet, um Übereinstimmungen in einem Textblock zu suchen und die Ergebnisse auszudrucken. Das Programm wird jedoch beendet, sobald es gefunden wird die erste Übereinstimmung im Textblock.
Wie mache ich das wiederholt, wenn das Programm nicht stoppt, bis ALLE Übereinstimmungen gefunden wurden? Gibt es dafür eine eigene Funktion?
Verwenden Sie stattdessen re.findall
Oder re.finditer
.
re.findall(pattern, string)
gibt eine Liste übereinstimmender Zeichenfolgen zurück.
re.finditer(pattern, string)
gibt einen Iterator über MatchObject
Objekte zurück.
Beispiel:
re.findall( r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')
# Output: ['cats', 'dogs']