Foros del Web » Programando para Internet » Javascript »

Expresion regular

Estas en el tema de Expresion regular en el foro de Javascript en Foros del Web. Hola amigos. Estoy buscando en un select list cadenas de texto por medio de expresiones regulares. Pienso buscar siempre desde el principio entonces uso ^ ...
  #1 (permalink)  
Antiguo 09/01/2007, 14:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 5 meses
Puntos: 4
Mensaje Expresion regular

Hola amigos.

Estoy buscando en un select list cadenas de texto por medio de expresiones regulares.

Pienso buscar siempre desde el principio entonces uso ^

Uso esto: var emailReg = new RegExp("^" + valor, "i");

Y funciona bien. buscando "cade" encuentra "cadena" por ejemplo pero si busco "cada" tambien encuentra "cadena".

Como puedo hacer que cuando ya sea diferente no encuentre?
  #2 (permalink)  
Antiguo 09/01/2007, 16:57
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Expresion regular

Mira bien tu código, y si no encuentras el error postea la parte en la que está el problema:

Código PHP:
var re=new RegExp("^cade","i");

document.write"cadena ==> "+"cadena".match(re) +"<br/>");
document.write"cadana ==> "+"cadana".match(re) +"<br/>");
document.write"cadera ==> "+"cadera".match(re) +"<br/>");
document.write"algo cadera ==> "+"algo cadera".match(re) +"<br/>");
document.write"cada ==> "+"cada".match(re) +"<br/>"); 
Código PHP:
cadena ==> cade
cadana 
==> null
cadera 
==> cade
algo cadera 
==> null
cada 
==> null 
Saludos!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 10/01/2007, 07:10
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 5 meses
Puntos: 4
Re: Expresion regular

Perfecto derkenuke.

Me abriste los ojos con el ejemplo. Yo usaba la funcion test. Y probando con tu ejemplo funciono mejor.

var re=new RegExp("^cade","i");
document.write( "cadena ==> "+re.test("cadena") +"<br/>");
document.write( "cadana ==> "+re.test("cadana") +"<br/>");
document.write( "cadera ==> "+re.test("cadera") +"<br/>");
document.write( "algo cadera ==> "+re.test("algo cadera") +"<br/>");
document.write( "cada ==> "+re.test("cada") +"<br/>");
  #4 (permalink)  
Antiguo 10/01/2007, 09:15
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Expresion regular

Me alegro de que lo hayas solucionado.

Recuerda que match tiene algunas ventajas sobre test (aunque a veces nos sean innecesarias), como por ejemplo la propiedad index que nos da el número de caracter de la frase original donde hubo coincidencia, o el input (cadena original donde se buscó). Sin embargo test sólo devuelve true o false.

Mas info -- http://developer.mozilla.org/es/docs...ones_regulares

Supongo que te vendrá bien. Personalmente adoro esa pagina de desarrolladores de mozilla, su apartado de expresiones regulares es muy completo, de los que mejor he visto en la red en castellano. Aprovechalo!


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.