Foros del Web » Programando para Internet » PHP »

ME ayudar con una expresión regular?

Estas en el tema de ME ayudar con una expresión regular? en el foro de PHP en Foros del Web. Amigos que tal buenos días/tardes. Otra vez yo con lo de expresiones regulares. Espero alguien pueda echarme una mano :D =========================== como verificarían que una ...
  #1 (permalink)  
Antiguo 05/12/2011, 11:37
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
ME ayudar con una expresión regular?

Amigos que tal buenos días/tardes.

Otra vez yo con lo de expresiones regulares.
Espero alguien pueda echarme una mano :D

===========================
como verificarían que una cadena no tiene símbolos simultáneos con una RE compatible con perl.


por ejemplo:

Código PHP:
Ver original
  1. $cadena = "mi..string";
  2.  
  3. if(preg_match($pattern,$cadena)) //return false.

Ahí hay 2 puntos consecutivos.

Yo creo que si hago otra búsqueda en google voy a recibir una multa por abusar del servicio.

Muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 05/12/2011, 11:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ME ayudar con una expresión regular?

A ver si entendí, ¿que no tiene símbolos consecutivos?
Cita:
/[^a-zA-Z0-9]+/
Ahí estamos negando cualquier carácter que no sea alfa numérico, supongo que eso capturaría cualquier otro símbolo.

Ahora para negarlo simplemente usa preg_match() y ya está:
Cita:
if ( ! preg_match($regex, $cadena)) // NO tiene símbolos consecutivos
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/12/2011, 11:54
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: ME ayudar con una expresión regular?

Gracias bro, pero se me olvido escribir un detalle. La cadena si puede tener símbolos por ejemplo . - _

pero no puede tener 2 o más simbolos consecutivos.

Una de las aplicaciones que se me ocurre.

Al verificar una dirección de email:


[email protected]

//Esta dirección contiene guion medio, bajo y punto antes del @ y es evaluada como true cuando se hace

/^([\w-\.]+)@etc....$/

pero con ésta misma expresión la siguiente dirección también es evaluada como true.

[email protected]

Pero realmente no es válida.

============================

Yo había pensado en algo como esto:

/^(?=.*(\.\-\_)?!=(\.\-\_).*)$/

Pero no me funciona :(

Alguna ayuda?

Saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 05/12/2011, 12:14
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: ME ayudar con una expresión regular?

Ah ya lo resolví.

Mira que te parece esta

Código PHP:
Ver original
  1. $simbols = "\-\.\_";
  2. $pattern = "/^(.*[$simbols][$simbols].*)+$/";

Con eso se verifica que no existan los símbolos simultaneos (escapados en la variable $simbols )

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
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 22:43.