2009/1/7 Enrique Nieloud <[email protected]>

> Hola,
>
> estoy tratando de usar irb para debuggear unas regexps.
>
> Tengo un tema: cuando dentro del string que busco está el caracter slash: /
> tengo que escaparlo, al estilo backslash seguido de slash:"\/"  ?
>
> irb(main):038:0> print "Matched on ", $1, "\n" if str =~
> /(<tag>(.*\n)*<\/tag>)/


Me parece que el problema es que el .* interno te esta consumiendo mucha
entrada, y por eso no te encuentra el <\/tag> final. Proba con:

print "Matched on ", $1, "\n" if str =~ /(<tag>([^<]*)*<\/tag>)/

Aca cambie el .* interno por [^<]*

Igual seguro que muchos te van a recomendar usar un parser de en serio para
este tipo de cosas, como hpricot o libxml que actualizo bindings hace poco.
No es mala idea.

Saludos


>
>
> str contiene un xml.
> Debería encontrarlo, pero no hay caso.
>
> saludos
>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>


-- 
--------------------------------------------------------------
EmmanuelOga.Wordpress.com
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a