>> 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
