You are on page 1of 20

Expresiones regulares

en PHP
Para qué
►A veces necesitamos comparar strings
para ver si responden a ciertas
características

► Por
ejemplo, evaluar si un string
comienza con “S” o si contiene
números
Patrones
► Hay patrones conocidos que se utilizan
en diferentes situaciones más allá de
PHP
► En DOS, “dir s*.doc”, mostrará todos
los archivos de extensión doc que
comienzan con la letra “s”
► El Linux, “ls s*.txt”, sería similar
► En este caso, “c*.txt” es un patrón
► Son válidos: c.txt, c123.txt, casa.txt
Patrones en la Web
► Lo más común en páginas Web es
utilizar patrones para validar el input
del usuario

► Si
la información ingresada no tiene
sentido, la descartaremos de
inmediato de una manera simple
Ejemplo de un patrón simple
► Por
ejemplo, el nombre de una persona está
compuesto por letras y espacios

► Sinembargo, podría tener un apóstrofo


como el apellido “D’Andrea” y, en algunos
idiomas, un guión como “Coca-Cola”

► Podríamos chequear que el nombre


solamente pueda tener letras, espacios,
apóstrofos, guiones (del medio)
¿Qué es un patrón para PHP?
► Un patrón consiste de caracteres
literales y caracteres especiales
► Los caracteres literales son los
caracteres normales que no tienen un
significado especial dentro del patrón.
Una “A” es una “A”
► En cambio, los caracteres especiales
tienen un significado especial en el
patrón, como el asterisco (“*”) cuando
se usa de comodín
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
^ Comienza con ^a adrián dalila
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
$ Termina con ión$ canción mojón
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
. Un carácter .. ar x
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
? Anterior caí?da caída, cada canta
opcional
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
() Obligatorio m(es)a mesa esa, aa
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
[] Sólo uno p[ae]z pez, paz paez, pz
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
- Rango m[a-d]n man, mbn maan, men
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
+ Repite 1 o más simple[1- simple1, simple,
3]+ simple313 simple45
Caracteres especiales usados en
patrones

Caract Uso Ejemplo Correcto Incorrect


er
* Repite 0 o más simple[1- simple, simple9,
3]* simple113 simple978
Caract Uso Ejemplo Correcto Incorrect
er
^ Comienza con ^a adrián dalila

$ Termina con ión$ canción mojón


. Un carácter .. ar x
? Anterior caí?da caída, cada canta
opcional
() Obligatorio m(es)a mesa esa, aa
[] Sólo uno p[ae]z pez, paz paez, pz
- Rango m[a-d]n man, mbn maan, men
+ Repite 1 o más simple[1- simple1, simple,
3]+ simple313 simple45
* Repite 0 o más simple[1- simple, simple9,
3]* simple113 simple978
{x, y} Repite entre x a{2,4} aa, aaa, a, xa2
e y veces aaaa
\ Siguiente m\*s m*s más,
literal menos
(|) Alternativas (Voy| Voy, vengo vaya
Comienza con mayúscula
(y luego cualquier carácter)
►^[A-Z]+.
►Correctos:
X
XY2
Xa
Alternativas

► Querido (amigo|
hermano)
►Correctos:
Querido amigo
Querido hermano
Función PHP para evaluar
expresiones regulares
► intereg(string $patron, string $cadena);
► retorna true o false

► interegi(string $patron, string $cadena);


► no diferencia mayúsculas de minúsculas
► retorna true o false

► Recordar que si el patrón con tiene


indicación de comienzo o fin, se buscará en
toda la cadena ese patrón.
Ejercitación para entregar
individualmente
1. código postal (números, nacional)
2. código postal argentino (cpa)
3. patente (Argentina)
4. mes (número dos dígitos)
5. mail que contenga “@” y termine con
“.com”
6. fecha formato dd/mm/aaaa (año
calendario gregoriano)
7. dirección IP

You might also like