En un programa que estoy escribiendo, Python usa la re.search()función para encontrar coincidencias en un bloque de texto e imprimir los resultados. Sin embargo, el programa se cierra una vez que encuentra la primera coincidencia en el bloque de texto.
¿Cómo hago esto repetidamente cuando el programa no se detiene hasta que se hayan encontrado TODAS las coincidencias? ¿Hay una función separada para hacer esto?

Respuestas:
Uso
re.findallo en sure.finditerlugar.re.findall(pattern, string)devuelve una lista de cadenas coincidentes.re.finditer(pattern, string)devuelve un iterador sobreMatchObjectobjetos.Ejemplo:
fuente
finditerera lo que estaba buscando Me sorprende que uno devuelva objetos Match y las otras cadenas. Esperaba usar unamatch_allomatch_iterfunción.re.searchen bucle. Devolverá unMatchobjeto. Querrá pasarMatch.start() + 1comoposargumentore.searchpara la próxima iteración del bucle.findalldevolverá una lista de tuplas coincidentes, no una lista de cadenas coincidentes.