Dans un programme en cours d’écriture, j’ai Python utiliser la fonction re.search()
pour trouver des correspondances dans un bloc de texte et imprimer les résultats. Cependant, le programme se ferme une fois qu'il a trouvé la première correspondance dans le bloc de texte.
Comment puis-je faire cela à plusieurs reprises lorsque le programme ne s'arrête pas tant que TOUTES les correspondances n'ont pas été trouvées? Y at-il une fonction distincte pour faire cela?
Utilisez re.findall
ou re.finditer
à la place.
re.findall(pattern, string)
renvoie une liste des chaînes correspondantes.
re.finditer(pattern, string)
renvoie un itérateur sur MatchObject
objets.
Exemple:
re.findall( r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')
# Output: ['cats', 'dogs']