no parece: >>> p = re.compile("^(?P<type>(.*)):? (?P<value>([^:]*))$") >>> >>> l = "type: word: foo bar" >>> >>> m = p.match(l) >>> print m.groupdict() {'type': 'type: word: foo', 'value': 'bar'} >>>
Pero voy a echar un vistazo a "greedy". Muchas gracias. Jose El lun., 17 ago. 2020 a las 15:25, Ander Garmendia (<kelertx...@gmail.com>) escribió: > > Hola, > > Las expresiones tipo(. *) son "greedy", esto es se expanden "a todo lo que > pillen". Si quieres limitar el match al primer grupo, añade un ? al carácter > de corte: > > pattern = re.compile("^(?P<type>(.*)):? (?P<value>([^:]*))$") > > Si buscas "greedy" en el apartado de la librería "re" en la documentacion > oficial, lo explican mucho mejor. > > Un saludo. > > Jose Caballero <jcaballero....@gmail.com> igorleak hau idatzi zuen (2020 abu. > 17, al. 15:45): >> >> 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 >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es