el problema es el siguiente
si tengo una cadena como esta
n=":hola soy-una cadena : con : je"
al intentar usar exp regulares diciendole que capture todo lo que esta entre los ":"
re.match(":(.+):",n)
la salida es:
hola soy-una cadena : con
lo que quiero es:
hola soy-una cadena
que puedo hacer?
Sería así:
re.match(":(.+?):",n)
El mismo código en perl:
use v5.16;
$_ = ":hola soy-una cadena : con : je";
/:(.+?):/;
say $1;
muchas gracias ;D! no estoy seguro porque funciona pero soluciono el problema jeje
Cita de: daryo en 16 Enero 2014, 04:01 AM
muchas gracias ;D! no estoy seguro porque funciona pero soluciono el problema jeje
? en las expresiones regulares se usa para indicar un caracter que puede o no aparecer o, como en este caso, para seleccionar la
menor cadena que encuentra ya que por defecto la expresión regular coincide con la cadena más grande que encuentra.
Saludos!