Foros del Web » Programando para Internet » PHP »

Problema con expresiones regulares

Estas en el tema de Problema con expresiones regulares en el foro de PHP en Foros del Web. Hola a todos, tengo un problema con esta expresion regular: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original / ( [ a - z0 - 9 ] ...
  #1 (permalink)  
Antiguo 14/01/2011, 12:44
Avatar de dyegox  
Fecha de Ingreso: enero-2008
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Problema con expresiones regulares

Hola a todos, tengo un problema con esta expresion regular:
Código PHP:
Ver original
  1. /([a-z0-9])(/[a-z0-9])+/gi

Necesito comprobar si la cadena dada tiene el siguiente formato:
primerValor/segundoValor/tercerValor/etc..

puede haber mas valores en la cadena, todos separados por "/", pero esa expresion no me funciona, no imprime nada en pantalla, este es el codigo que estoy usando para probar
Código PHP:
Ver original
  1. <?php
  2. $sujeto = "primerValor/segundoValor/tercerValor";
  3. $patron = '/([a-z0-9])(/[a-z0-9])+/gi';
  4. preg_match($patron, $sujeto, $coincidencias);
  5.  
  6. echo '<pre>';
  7. print_r($coincidencias);
  8. echo '</pre>';

Alguna solucion?

Saludos :)
  #2 (permalink)  
Antiguo 14/01/2011, 12:57
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con expresiones regulares

prueba algo asi:

Código PHP:
Ver original
  1. $patron = '/([a-z0-9])(\/[a-z0-9])+/i';

dale una revisada a este aporte:

http://www.forosdelweb.com/f18/aport...s-pcre-646110/
  #3 (permalink)  
Antiguo 14/01/2011, 13:12
Avatar de dyegox  
Fecha de Ingreso: enero-2008
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: Problema con expresiones regulares

Ya funciona, pero si a la cadena le agrego otros caracteres que no sean a-z0-9 sigue funcionando.
Código PHP:
Ver original
  1. <?php
  2. $sujeto = "controller_/action/param1/param2";
  3. $patron = '/([a-z0-9])(\/[a-z0-9])+/i';
  4.  
  5. if(preg_match($patron, $sujeto))
  6. {
  7.     echo 'paso';
  8. }
  9. else
  10. {
  11.     echo 'no';
  12. }

aunque la variable $sujeto contenga un guion bajo, la sigue pasando como verdadero u.u
  #4 (permalink)  
Antiguo 14/01/2011, 13:51
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con expresiones regulares

probando esto, me funcionó bien:

Código PHP:
Ver original
  1. $patron = '/^[a-z0-9]+(\/[a-z0-9]+)+$/i';
  #5 (permalink)  
Antiguo 14/01/2011, 14:01
Avatar de dyegox  
Fecha de Ingreso: enero-2008
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: Problema con expresiones regulares

Gracias che funciona :D

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 18:09.