Muchísimas gracias, tienes razón en eso de que la tuya es más bonita y, con algún ajuste para algún caso que no había comentado funciona perfectamente.
Una cosa, ¿te importaría explicarme para qué sirve el signo de interrogación al final del primer conjunto?
¿Se supone que es para que coja la mínima cadena que cumpla la regla? Es lo que me ha parecido entender en https://developers.google.com/edu/python/regular-expressions, en el apartado Greedy vs. Non-Greedy. Pero he visto que si añado espacios al final de la cadena (cosa que en mi caso a priori no pasa), me los coge:
Código:
' Tipo de red : Infraestructura '
Me devuelve
Código:
[('Tipo de red', 'Infraestructura ')]
y si modifico la segunda parte de la expresión añadiéndole un signo de interrogación:
Código:
\s*([^:]+?)\s*:\s*([^:]+?)\s*
Me devuelve
Por tanto no entiendo nada bien el '?' al final de un grupo.
Muchísimas gracias de nuevo y un saludo