Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/01/2014, 14:04
ellgon
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Expresión regular que se quede con frases

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?

Código:
([^:]+?)
¿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
Código:
[('Tipo de red', 'I')]
Por tanto no entiendo nada bien el '?' al final de un grupo.

Muchísimas gracias de nuevo y un saludo