>> Fíjense que cambia el hash de r1 después de matchear y también deja de
>> ser cierto r1.eql? r2.
> Hola!
>
> Probé un poco las expresiones y vi que el error se produce cuando en
> la expresión incluis esta parte \303[\200-\277]
> pero no entiendo para qué la usás por lo que pude avanzar mucho
>
> si te confirmo que :
> r1 = /([A-Za-z0-9])*(_([A-Za-z0-9])+)+/
> r2 = /([A-Za-z0-9])*(_([A-Za-z0-9])+)+/
> o
> r1 = /([A-Za-z0-9]|\\303[\\200-\\277])*(_([A-Za-z0-9]|\\303[\\200-\\277])+)+/
> r2 = /([A-Za-z0-9]|\\303[\\200-\\277])*(_([A-Za-z0-9]|\\303[\\200-\\277])+)+/
>
>
> no 'machean' "hola" y la comparacion r1.eql?(r2) es verdadero
>
> 'machean' "hola_mundo" y la comparacion r1.eql?(r2) es verdadero
>
>
> si poestas una cadena que 'machee' con \303[\200-\277] puedo probar un poco 
> mas.

Una cadena que matchee con /\303[\200-\277]/ es "á" (o sea, el string
que contiene unicamente la letra a con acento agudo).
/\303[\200-\277]/ son todas las letras acentuadas de un montón de
lenguajes. Igualmente, como el string que tengo que matchear es
ingresado por el usuario y a veces matchea y a veces no, si el
problema se da cuando el string no matchea también es un problema para
mi.

Un ejemplo de cadena que matchee con
/([A-Za-z0-9]|\303[\200-\277])*(_([A-Za-z0-9]|\303[\200-\277])+)+/
pero no con ninguna de las regex que posteaste es "luz_cámara_acción".

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

Responder a