Foros del Web » Programando para Internet » Javascript »

Duda sobre expresiones regulares

Estas en el tema de Duda sobre expresiones regulares en el foro de Javascript en Foros del Web. Hola a todos, ¿alguien sabe cómo podría crear una expresión regular creando el patrón dinámicamente a partir de una cadena de caracteres? Gracias....
  #1 (permalink)  
Antiguo 15/04/2002, 05:28
 
Fecha de Ingreso: abril-2002
Mensajes: 2
Antigüedad: 22 años
Puntos: 0
Duda sobre expresiones regulares

Hola a todos, ¿alguien sabe cómo podría crear una expresión regular creando el patrón dinámicamente a partir de una cadena de caracteres?

Gracias.
  #2 (permalink)  
Antiguo 15/04/2002, 13:08
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Duda sobre expresiones regulares

Ssalmeron:
No estoy completamente seguro de lo que deseas, lo que entendí es que la expresión que vas a evaluar no es algo constante, tal vez sea algo que el usuario escriba ¿cierto?
Entonces, almacenas la cadena a evaluar en una variable:

Código:
var cadena = texto variable;
ahora se crea un nuevo regExp, con los flags que requieras (g, i, gi):

Código:
expresion = new regExp(cadena, gi);
Ahora puedes usar el objeto expresion con algun metodo como replace o search:

Código:
texto.replace(expresion, "nuevo texto");
texto.search(expresion);
Espero que te sea de utilidad.
Saludos
  #3 (permalink)  
Antiguo 15/04/2002, 13:30
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Duda sobre expresiones regulares

Una disculpa, cometí dos errores en el mensaje anterior :

en lugar de regExp debe escribirse RegExp, o JavaScript mostrará errores. Y los flags, deben escribirse entre comillas, en lugar de gi, debe escribirse "gi".
  #4 (permalink)  
Antiguo 16/04/2002, 04:29
 
Fecha de Ingreso: abril-2002
Mensajes: 2
Antigüedad: 22 años
Puntos: 0
Re: Duda sobre expresiones regulares

Gracias Beakdan, es exactamente lo que necesitaba.
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 07:51.