Foros del Web » Programando para Internet » PHP »

problemas con expresiones regulares

Estas en el tema de problemas con expresiones regulares en el foro de PHP en Foros del Web. Hola a todos, tengo un problema, resulta que yo tenga que detectar cuando tengo (USA) osea que empieze con parentesis despues 3 letras y despues ...
  #1 (permalink)  
Antiguo 23/08/2011, 10:18
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
problemas con expresiones regulares

Hola a todos, tengo un problema, resulta que yo tenga que detectar cuando tengo (USA) osea que empieze con parentesis despues 3 letras y despues parentesis como se ve en el ej.
Ahora mi problema es como hago para que busque los parentesis , yo arme esta cadena

$cadena = '/^([a-zA-Z]{3,3})/';

pero ahi no ve los parentesis como parentesis sino como parentesis que separan algo.

y otra cosa, yo despues uso

if(preg_match_all($cadena,'(USA)',$partes))
echo "si esta usa";
else
echo "no esta";

para ver si esta, hay una forma mejor de hacerlo o esta bien asi?

desde ya muchas gracias.
  #2 (permalink)  
Antiguo 23/08/2011, 10:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problemas con expresiones regulares

Escapa los parentesis usando un backslash \. El parentesis tiene un significado en las expresiones regulares y se usa para agrupar.
Siempre que haya un caracter que tenga un significado especial en una expresion regular, escapalo usando \
  #3 (permalink)  
Antiguo 23/08/2011, 10:29
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: problemas con expresiones regulares

ahi puse como me dijiste $cadena = '/^\([a-zA-Z]{3,3}\)/';
y parece que anda bien.

ahora me gustaria que me respondan si esta bien usado el preg_match_all para saber si esta o no en la cadena el string que necesite comparar

saludos y gracias

Etiquetas: expresiones, 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 04:23.