para - python string expresiones regulares
Expresiones regulares de Python: ¿cómo capturar múltiples grupos desde una expresión de comodín? (2)
Además de la solución de Douglas Leeder , aquí está la explicación:
En expresiones regulares, el recuento de grupos es fijo. Colocar un cuantificador detrás de un grupo no aumenta el recuento de grupos (imagine que todos los demás índices de grupo aumentan porque un grupo más completo coincide más de una vez).
Los grupos con cuantificadores son la forma de hacer que una sub-expresión compleja sea atómica, cuando hay necesidad de unirla más de una vez. El motor de expresiones regulares no tiene otra opción que guardar la última coincidencia solo para el grupo. En resumen: no hay forma de lograr lo que desea con una sola expresión regular "desarmada", y tiene que encontrar otra forma.
Tengo una expresión regular de Python que contiene un grupo que puede aparecer cero o muchas veces, pero cuando recupero la lista de grupos después, solo está presente la última. Ejemplo:
re.search("(/w)*", "abcdefg").groups
()
esto devuelve la lista (''g'',)
Necesito que regrese (''a'', ''b'', ''c'', ''d'', ''e'', ''f'', ''g'',)
¿Es eso posible? ¿Cómo puedo hacerlo?
re.findall(r"/w","abcdefg")