Comunidad de diseño web y desarrollo en internet online

Duda con regexp

Citar            
MensajeEscrito el 03 Abr 2009 08:09 pm
Hola:

Tengo una duda un tanto rarilla... La cosa esta en una aplicacion que trabaja con el tema de irc, y esta relacionada con los codigos de colores:

Código :

         var re:RegExp;
         if(mess.indexOf("\x03") > -1) {
            re = new RegExp("\x03([0-9]{1,2})([,]([0-9]{1,2}))?([^\x03]*)([\x03]|$)","g");
            var temp:Array = re.exec(mess);
            do {
               mess = mess.replace(temp[0],colores(temp));
               temp = re.exec(mess);
            } while(temp != null);
         }

Tal y como esta, funciona 'casi' perfectamente. El problema lo tengo en que algunos de los clientes irc tambien envian al final un \x03 pero sin ningun numero detras, para cerrar el codigo de color. En esta sintaxis ese me lo deja pasar, porque claro, como no lleva nada detras...

Que tendria que hacer para "pillar" los \x03 "sueltos"? He probado a hacer otro regexp que los pillara a ellos solos, pero claro, me fastidia estos...

graciñas!

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Abr 2009 08:13 pm
Y ahora q lo veo, tampoco me pilla los colores de relleno (los de despues de la coma). Pero esos me vienen dando igual, lo que si que me raya es que no pille el codigo ascii ese de color a pelo, porque lo devuelve con un incomodo cuadradito XD.

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Abr 2009 04:06 am
enga q no puede ser tan dificil... :S

Por PimPamPum

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Abr 2009 02:03 pm
Hola

Para q te tome el \x03 si viene, cambia esta parte de la exp regular

Código :

([\x03]|$)

por esta otra

Código :

(\x03)?$



Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 13 Abr 2009 05:24 am
te iba a decir q te queria, pero no me funciona :S

Ahora me pasa algo aun mas raro, en el momento que cambia esos colores, solo cambia uno, y si la frase lleva por ejemplo dos, muestra los cuadraditos, por no decirte que juraria que en algun sitio he visto los dichosos cuadraditos otra vez jejeje.

¿Que puede estar mal?

Mira, te pongo uno de los codigos que si que me funciona, el cambio de negritas:

Código :

         if(mess.indexOf("\x02") > -1) {
            re = new RegExp("\x02([^\x02]*)\x02","g");
            mess = mess.replace(re,"<b>$1</b>");
         }         
                  if(mess.indexOf("\x02") > -1) {
            re = new RegExp("\x02([^\x02]*)","g");
            mess = mess.replace(re,"<b>$1</b>");
         }   

Por PimPamPum

14 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.