[Python-es] problema con "regular expression"
Jose Caballero
jcaballero.hep en gmail.com
Lun Ago 17 09:44:02 EDT 2020
Hola,
tengo una serie de lineas, todas con el mismo formato:
<type>: <value>
donde <type> es una sola palabra, y <value> es una frase.
Intentaba "parsearlas" con algo como esto:
pattern = re.compile("^(?P<type>(.*)): (?P<value>(.*))$")
parse = pattern.match(line)
groups = parse.groupdict()
print( groups["type"] )
print( groups["value"] )
Funciona bien, salvo que <value> incluya el signo de los dos puntos.
Por ejemplo, para
one: two: three four
Me devuelve type = "one: two" y value "three four", en lugar de "one"
y "two: three four" respectivamente.
?Como arreglo ese pattern para que el primer "lookahead" pare en el primer ":"?
[Creo que se nota que tengo poca experiencia con regex]
Muchas gracias.
Un saludo,
Jose
Más información sobre la lista de distribución Python-es