Justi 25 de agosto de 2008 a las 14.00
   Imprimir artículo
elWebmaster.com

Taller de PHP: Expresiones Regulares (1)


Hola, bienvenidos a otra clase del Taller de PHP de elWebmaster.com. Hoy veremos expresiones regulares, una herramienta muy 煤til a la hora de trabajar con strings muy largos, ya que nos permite buscar un patr贸n especifico dentro de una cadena de texto.

Asimismo, veremos que los operadores pueden ayudarnos haciendo que la expresi贸n sea m谩s “flexible” es decir, que se adapte a patrones mucho m谩s complejos. 隆Empecemos!

驴Qu茅 son las expresiones regulares?

B谩sicamente es como puse en el primer p谩rrafo, una expresi贸n regular es una expresi贸n que nos permite encontrar patrones dentro de textos, pero 驴De qu茅 clase de patrones estamos hablando? Por ejemplo las palabras Webmaster, elWebmaster y elWebmaster.com comparten Webmaster, mediante expresiones regulares podemos encontrar qu茅 palabras coinciden con ese patr贸n para realizar alguna tarea especifica.

Es muy com煤n utilizar expresiones regulares por ejemplo a la hora de verificar que un email sea ver铆dico, ya que todos los correos electr贸nicos van a contener un @ y un .com en alguna parte de la cadena.

Ahora bien, no siempre estamos buscando un patr贸n exacto como fue el primer ejemplo de “Webmaster”, hay veces que tenemos que buscar patrones m谩s dif铆ciles como por ejemplo encontrar en una cadena de texto html donde se encuentra una imagen. En este caso ya no es tan sencillo porque sabemos que todas las im谩genes si o si van a tener un <img y un src=””> pero no sabemos si van a tener algo m谩s como puede ser un class=”” o un style=””, border=””, etc. Es en estos casos cuando empezamos a jugar con los operadores en la expresi贸n para que se adapte a lo que estamos buscando.

Operadores m谩s comunes

| – significa alternaci贸n (贸) por ejemplo “nen(e|a)”, eso va a coincidir con nene o con nena.

+ – significa que el caracter al que sigue debe aparecer al menos una vez. Por ejemplo “goo+gle” coincide con la expresi贸n google, gooogle, gooooooogle, etc. ya que la 2da “o” de google tiene que aparecer por lo menos una vez.

? – significa que el caracter al que sigue debe aparecer por lo mucho una vez pero no es necesario que aparezca, un ejemplo de esto es el patr贸n “p?sicologo”, machea con psicologo y sicologo.

* – significa que el caracter al que sigue puede aparecer cero, una o muchas veces. “gooo*gle” va a coincidir con google, gooogle, goooooogle, etc. F铆jense que a diferencia del patr贸n con el operador +, ac谩 le pusimos tres “o” en google, ya que no es necesario que este la tercer “o”.

() – los par茅ntesis se utilizan para agrupar un conjunto de caracteres o definir el 谩mbito de acci贸n de la expresi贸n, por ejemplo el que puse antes de nene o nena y sino uno un poco m谩s complejo puede ser “(sin)?verguenza”, f铆jense que en ese caso pusimos el conjunto “sin” precedido por el ?, lo que significa que esta expresi贸n va a machear con las palabras sinverguenza, verguenza pero no con sinsinverguenza por ejemplo.

^ – significa que nuestro patr贸n debe ubicarse al comienzo del string que queremos analizar, por ejemplo el patr贸n “pe” coincide con “perro”, “pepe”, “pelota” pero no coincide con “trompeta” o “campera”.

$ – es similar al ^ pero ahora nuestro patr贸n debe ubicarse al final del conjunto de caracteres a analizar, por ejemplo “ta”, machea con “carpeta”, “bicicleta”, o “esta” pero no lo hace con “tambien” o “estampida”.

. – el punto representa cualquier otro caracter, por ejemplo si lo que queremos buscar es la url de una imagen podemos poner en nuestro patr贸n “src='(.+)'” por ejemplo, en este caso estar铆amos buscando una cadena de caracteres que contenga src=’un caracter por lo menos’.

\ – sirve para escapar un caracter, por ejemplo si en nuestro patr贸n queremos buscar un s铆mbolo de $, si no lo escapamos, al procesar el string va a buscar el patr贸n al final de la cadena y nos va a fallar entonces necesitamos escaparlo, y eso se hace con la barra invertida, nuestro patr贸n quedar铆a algo as铆 “\$(.+)” y eso coincide con $100, $1388. Si buscamos una cifra de dos n煤meros podemos armarlo de la siguiente manera “\$(.+){2}”, eso le va a indicar que luego del $ haya dos caracteres, y si queremos que sea una cifra de 0 a 3 por ejemplo, podemos indicarle “\$(.+){0,3}”

B谩sicamente estas son las reglas b谩sicas a la hora de trabajar con expresiones regulares, ya la clase que viene vamos a ver como utilizarlas con php. Saludos y disfruten la semana.

<< CLASE ANTERIOR

CLASE SIGUIENTE >>


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (2)

  1. RAUL MARTINEZ LILA dice:

    me interesa mucho su taller, estoy iniciando en esto y kiero aprender bien, espero encontrar apoyo en usted(es) esta muy bueno….que se hagan muchos talleres de todo…

  2. julito mara帽a dice:

    que buen taller profe!!!

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder