Igual, me quedé pensando: hay que escapar el slash?

On Wed, Jan 7, 2009 at 12:01 PM, Enrique Nieloud <[email protected]> wrote:

> 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