Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] expresiones regulares?? no entiendo bn

Estas en el tema de expresiones regulares?? no entiendo bn en el foro de Javascript en Foros del Web. Hola que tal chicos como estan pues bueno estoy en una parte que todabia no entiendo y son estos comandos o script (ni se como ...
  #1 (permalink)  
Antiguo 10/03/2014, 14:08
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
expresiones regulares?? no entiendo bn

Hola que tal chicos como estan pues bueno estoy en una parte que todabia no entiendo y son estos comandos o script (ni se como decirles) que creo que se llaman expresiones regulares. Pero me gustaria como entender mejor como funcionan. ejemplo:

como hago para sacar todos los espacios y el caracter & de un string?

y si alguien me puede explicar este que aca tengo abajito como funciona
Código Javascript:
Ver original
  1. /(\?|&)v=([^&]+)/
gracias chicos :D
  #2 (permalink)  
Antiguo 10/03/2014, 15:32
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: expresiones regulares?? no entiendo bn

¿Todabia no entiendes?

Pues yo no entiendo por qué posteas en el foro JavaScript habiendo uno dedicado a expresiones regulares (RegExp).

Bueno, una expresión que capture lo que dices sería algo así:

Código:
/\s&/
El de abajo lo que dice es: captura el símbolo "?" o "&" seguido de "v=", y luego que un caracter diferente de "&" se repita de 1 a infinitas veces.

Saludos
  #3 (permalink)  
Antiguo 10/03/2014, 15:38
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: expresiones regulares?? no entiendo bn

Para quitar los elementos que mencionas de una cadena, necesitas utilizar la siguiente expresión regular:

Código Expresión Regular:
Ver original
  1. /(\s|&)/g

Y luego aplicarla en la cadena a filtrar con el método replace:

Código Javascript:
Ver original
  1. string.replace(/(\s|&)/g, '');

El primer parámetro del método es la expresión regular, mientras que el segundo es con lo que se harán los reemplazos, que en este caso serán vacíos de cadena (no sé cómo llamarles). La letra g al final de la expresión, indica que la búsqueda de coincidencias se realizará en toda la cadena y no se detendrá luego de encontrar la primera coincidencia.

Sería bueno que leas acerca de expresiones regulares para que puedas entenderlas y usarlas. Te dejo esto para que le saques provecho: Pequeño Manual sobre Expresiones Regulares

La explicación de la segunda expresión regular, ya la hizo PHPeros y muy bien.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 10/03/2014 a las 15:43
  #4 (permalink)  
Antiguo 11/03/2014, 10:26
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: expresiones regulares?? no entiendo bn

ja ja ja hay caray que pena no sabia que habia un foro dedicado a solo expresiones regulares ya lo reviso je je je

osea que si por ejemplo yo quisiera quitar los parentesis, la ñ , las comillas simples y dobles seria algo como esto:

Código Javascript:
Ver original
  1. string.replace(/(\s|&|ñ|'|")/g, '');

creo esto lo escribo sin mirar antes la ayuda que me dices. Por cierto y los parentesis como se ponen para decir que hay que quitarlos?
  #5 (permalink)  
Antiguo 11/03/2014, 10:32
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: expresiones regulares?? no entiendo bn

Los paréntesis si quieres que tomen su sentido literal tienes que escaparlos con el backslash (\):

Código:
/\(\)/
Saludos

Etiquetas: expresiones, funcion, regulares
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 14:49.