Archivo de 10 Abril 2008

Ejemplo del uso de expresiones regulares:

$patron = “/20$/”

$string = “tengo 20$ dll”

Y coincidiría

Nota: en preg_match se usan 2 ( \ )

Existen ciertos caracteres que son como comodines, por ejemplo * ?

El signo * , es muy general, toma lo que le precede y coincide si esta presente 0 o mas veces

$patron = “/^Ca*/”;

$string = “Caaaaaaaaaaa”;

Coincidiría, el “?” es lo mismo, solo que coincide si esta presente 0 o 1 vez y por ultimo ” ” , coincide si esta presente 1 o mas veces.

Tags: , , , ,

Comments No Hay Comentarios »

Eso coincidirá ya que existe “ca” dentro de “casa” si ese string fuera cambiado a “oca”, “coca” etc.. seguiría coincidiendo, ahora, si cambiara a “Casa”, no coincidiría mas, ya que hace el distintivo de mayúsculas y minúsculas, para esto usaremos un modificador ( la vedad no se como se llaman , pero yo los llamaré así) , añadiremos “i” después de el ultimo delimitador:

<?php
if( preg_match(”/ca/i”, “Casa”)){
echo “Coincide”;
}
else{
echo “No coincide”;
}
?>

Ahora si dará “Coincide” ya que con el modificador “i”, logra que no se haga la distinción entre mayúsculas y minúsculas. Veamos ahora, algo importante, en expresiones regulares ciertos caracteres representan algo especifico, algunos de los mas usados serian:

[ ] ( ) . * ? ^ $ |

Veremos dos primero:

^ Que representa el principio de un patrón y $ que representa el final, si a nuestro ejemplo cambiamos el patrón a: $patron = “/^ca/”

Y lo probamos, solo mostrara una coincidencia a las palabras que inicien con “ca” , “casa” , “campo” etc..
Si lo cambiamos a: $patron = “/ca$/”

Tomara solo las que terminen en “ca” , “oca” , “coca” , etc y por ultimo, si lo cambiamos a:

$patron “/^ca$/”

Dará solo coincidencia en “ca” ya que expone un inicio y un fin de cadena.

Si queremos buscar una cadena con un carácter especial, por ejemplo una cantidad, buscar el signo de $ , ahí que anteponer un backslash antes ( $ ).

Tags: , , , , ,

Comments No Hay Comentarios »