regulares - regular expression python
Bucle a través de los partidos de expresiones regulares de Python (2)
Esto tiene que ser más fácil de lo que estoy encontrando. Mi problema es convertir una cadena que se parece a esto:
ABC12DEF3G56HIJ7
dentro
12 * ABC
3 * DEF
56 * G
7 * HIJ
Y no puedo, por mi vida, diseñar un conjunto correcto de bucles utilizando la combinación REGEX. El quid de la cuestión es que el código tiene que ser completamente general porque no puedo asumir cuánto tiempo serán los fragmentos [AZ]
, ni cuánto tiempo serán los fragmentos [0-9]
.
¡Gracias por cualquier ayuda!
El re.findall
de Python debería funcionar para ti.
import re
s = "ABC12DEF3G56HIJ7"
pattern = re.compile(r''([A-Z]+)([0-9]+)'')
for (letters, numbers) in re.findall(pattern, s):
print(numbers, ''*'', letters)
Es mejor usar re.finditer si el conjunto de datos es grande:
import re
s = "ABC12DEF3G56HIJ7"
pattern = re.compile(r''([A-Z]+)([0-9]+)'')
for m in re.finditer(pattern, s):
print m.group(2), ''*'', m.group(1)