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

Responder a