Foros del Web » Programando para Internet » PHP »

Expresiones regulares-cuantificadores

Estas en el tema de Expresiones regulares-cuantificadores en el foro de PHP en Foros del Web. Buenas pues estoy luchando con una cadena en php, en fin que estoy leyendome como van las expresiones regulares. Mi duda es en concreto con ...
  #1 (permalink)  
Antiguo 13/06/2012, 08:51
 
Fecha de Ingreso: abril-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 1
Expresiones regulares-cuantificadores

Buenas pues estoy luchando con una cadena en php, en fin que estoy leyendome como van las expresiones regulares.

Mi duda es en concreto con los cuantificadores, he leido sobre {minimo,maximo)
y no lo entiendo , me explico con un ejemplo:

Yo con a{3,5} entiendo que acepte : "aaa, aaaa, aaaaa pero no aaaaaa" no entiendo porque la expresion regular casa con "aaaaaa"(son 6 veces la a)

en esta pagina me dice que casa y

Haciendo esto:

Código PHP:
$cadena2 "bbbb";
        
        
$encontrado preg_match_all("/b{0,3}/"$cadena2$coincidenciasPREG_OFFSET_CAPTURE);
        echo 
$encontrado
Me da que el numero de ocurrencias es : 3

Pues no lo entiendo ...no deberia salir 0 ocurrencias?

Gracias!
  #2 (permalink)  
Antiguo 13/06/2012, 08:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares-cuantificadores

Espera, es verdad que encuentra hasta 3 coincidencias para "b" pues no has establecido limites.

Pero si quieres que la expresión sea estricta y aplique sólo a la cadena entera entonces debes establecer limites.

Cita:
/^b{0,3}$/
Eso debería explicarlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/06/2012, 09:59
 
Fecha de Ingreso: abril-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 1
Respuesta: Expresiones regulares-cuantificadores

Cita:
Iniciado por pateketrueke Ver Mensaje
Espera, es verdad que encuentra hasta 3 coincidencias para "b" pues no has establecido limites.

Pero si quieres que la expresión sea estricta y aplique sólo a la cadena entera entonces debes establecer limites.



Eso debería explicarlo.
Establecido limites? No entiendo, no se supone que con {minimo,maximo) estoy estableciendo los limites minimo y maximo?

Supongo que me has puesto el codigo para que limite? No entiendo
  #4 (permalink)  
Antiguo 13/06/2012, 10:07
 
Fecha de Ingreso: abril-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 1
Respuesta: Expresiones regulares-cuantificadores

Con este ejemplo:

Código PHP:
$cadena2 "bbbbaabbbb";
        
        
$encontrado preg_match_all("/^b{0,4}$/"$cadena2$coincidenciasPREG_OFFSET_CAPTURE);
        echo 
$encontrado
El resultado es : 0

A ver yo lo que entiendo es que busco cadenas que tengan de 0 a 4 , y en $cadena2 hay 2 de este estilo no?

Puff que lio con las expresiones regulares....alguien me lo explica...

Gracias!
  #5 (permalink)  
Antiguo 13/06/2012, 10:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares-cuantificadores

A ver, los "limites de una frase o parte de la expresión" no significa lo mismo que "los limites de toda la expresión" ¿se entiende?

Si, usar los cuantificadores implican un limite pero solo de esa parte la expresión.

Los caracteres ^ y $ son los limites para la expresión completa.

Lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 14/06/2012, 02:09
 
Fecha de Ingreso: abril-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 1
Respuesta: Expresiones regulares-cuantificadores

Vale creo que te entiendo pero....

entonces si con ^ y con $ le voy diciendo que me lo pille desde el principio hasta el final, en el ejemplo que puse porque me da 0?

"/^b{0,4}$/" Con esto no le estoy diciendo que me pille los que tienen b desde 0 hasta 4 del principio al final?
  #7 (permalink)  
Antiguo 14/06/2012, 08:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares-cuantificadores

Ejercita tu mente, has mas pruebas y descubrirás por ti mismo las respuestas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: expresiones
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 13:35.