Justi Lunes, 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 (1)

  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…

Deja tu opinión

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