Foros del Web » Programando para Internet » Javascript »

RegExp

Estas en el tema de RegExp en el foro de Javascript en Foros del Web. Hola quetal alguien porfas me podrias ayudar con esto de RegExp yo las manejo en php pero aqui en javascript se me trocan un poco ...
  #1 (permalink)  
Antiguo 18/06/2009, 21:28
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
RegExp

Hola quetal alguien porfas me podrias ayudar con esto de RegExp yo las manejo en php pero aqui en javascript se me trocan un poco los cables ejejej

Bueno lo que quiero hacer es capturar un valor de un String

Por ejemplo quiero solo cojer el valor que le sigue a ac utilizando la agrupacion se que puedo cojerlo (), pero hay esta el problema como puedo hacer que solo me muestre ese valor.

var direccion="index.php?ac=Valor";

alert(direccion.match("^index.php\\?ac=(.*)$"));

como puedo ver el valor que encontro (.*)

Ademas jeej alguien me recomienda alguna referecia de manejo de RegExp, he leido la que esta aqui http://www.w3schools.com/jsref/jsref_obj_regexp.asp
pero me quedan muchas dudas , muchas gracias
  #2 (permalink)  
Antiguo 19/06/2009, 05:44
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 46
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: RegExp

Hola,

Puedes hacerlo de varias maneras. De la forma en que lo planteas, la expresión regular la tienes que poner entre barras:

Código:
/^index.php\?ac=(.*)$/
Y puedes reutilizar la parte que queda dentro del parentesis como $1 ($2, $3, etc si hubiera más). Pero tienes que utilizarlo dentro del método que estás usando, no lo devuelve como resultado. Por ejemplo si utilizas el método 'replace()':


Código:
var direccion="index.php?ac=Valor"
alert(direccion.replace(/^index.php\?ac=(.*)$/g, "$1"))  // Valor
En este caso obviamente pierdes la variable direccion original, si quieres conservarla tendrias que usar una temporal.

También puede utilizar el objeto RegExp. Aquí la expresión regular si va entre comillas.

Código:
var test = new RegExp("^index.php\\?ac=(.*)$");
var matches = test.exec("index.php?ac=Valor");
alert matches[1];  // Valor
RegExp.exec() devuelve un array donde el primer elemento es el texto que encaja con el patrón (en este caso sería todo el texto) y los demás elementos son los que encajan con los grupos entre parentesis

Espero que te sirva
  #3 (permalink)  
Antiguo 19/06/2009, 15:21
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: RegExp

Exelente muchas gracias por la explicacion tan detallada, tienes algun manual que me recomendaras sobre espresiones regulares?
  #4 (permalink)  
Antiguo 20/06/2009, 05:06
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 46
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: RegExp

He intentado ponerte los links a algún tutorial en Inglés, pero al tener muy pocos mensajes publicados en foro no me perminte poner enlaces, por motivos anti-spam.

De todas formas no son nada especial, puedes encontrar muchos en ingles buscando en google.
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 23:19.