Gracias Enmanuel, El tema es que entre el par<tag>...</tag> hay más caracteres xml que incluyen al "<". Una buena sería (no sé cómo) una regexp que exprese "todo lo que no sea </tag>"
2009/1/7 Emmanuel Oga <[email protected]> > 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 > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
