Unidad 12. Avanzado: Expresiones Regulares (I)


Las Expresiones Regulares son un conjunto de símbolos que unidos pueden definir un patrón para identificar una cadena de caracteres.

Antes de comenzar a verlas deberíamos tener bien claro cómo actúa la búsqueda normal.

Por ejemplo, si buscamos la cadena aula, los resultados que encontrásemos podrían ser aulaclic, miaula, aula, etc...

 

Utilizaremos las Expresiones Regulares para decidir cuáles serán el resto de los caracteres.

Para utilizar estos símbolos especiales tendremos que marcar la casilla Utilizar expresión regular en el cuadro de diálogo de Buscar y Remplazar:

Utilizar Expresión Regular

Una vez tengamos la casilla marcada, todo lo que escribamos en el cuadro de búsqueda se tomará como una expresión regular, así que empecemos a ver los símbolos que podemos utilizar:

 

Símbolo   Significado


^

Utiliza este símbolo para buscar cadenas al principio de un documento.

Esta expresión regular no es muy útil, pues normalmente los documentos HTML empiezan con la especificación de las cabeceras lo que, normalmente, no pertenece a nuestro objetivo de búsqueda.

Utilizando este símbolo podríamos encontrar documentos buscando por

^<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

Esto nos daría como resultados los documentos que empiecen por <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML, por lo que los documentos que empiecen por <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML no aparecerían.

 

En este ejemplo se están buscando archivos que sigan el formato XHTML, los documentos despreciados serían aquellos que sigan HTML.


$

Utiliza este símbolo para buscar cadenas al final de un documento.

Igual que la anterior, esta expresión regular no nos será de mucha ayuda cuando utilicemos la herramienta Buscar y Reemplazar. Sólo podremos buscar documentos que terminen de determinada manera.

Por ejemplo, podemos buscar archivos que terminen con

</html>$

Esta búsqueda nos devolvería todos aquellos documentos que se han cerrado correctamente, los que terminen, por ejemplo en </body> no se mostrarían.


*

Ahora ya entramos con expresiones regulares mucho más útiles.

El asterisco te ayudará a buscar un carácter que aparezca una vez, varias o ninguna. Veamos un ejemplo, si hacemos la búsqueda por

a*u

Los resultados que podemos encontrar serían aula, aaula, aaaaula o incluso uno o cuello, porque el asterisco implica que el carácter no tiene porque aparecer.


+

Casi ocurre lo mismo con esta expresión regular.

El signo + buscará coincidencias de un carácter una vez o varías. En este caso se despreciarán aquellas en las que no aparezca.

Por ejemplo, si buscamos

a+u

Los resultados podrían ser aula, aaula o aaaula, pero no ni uno ni cuello porque este símbolo obliga a que el carácter se encuentre al menos una vez.


?

Veamos ahora qué ocurre con el signo de interrogación.

Este símbolo es el contrario del anterior, sólo busca coincidencias una sola vez o ninguna, de modo que buscando

au?la

Podemos encontrar aula, ala, aulaclic o alameda, pero nunca auula ni auuulaclic.

Es decir, este símbolo nos sirve para marcar caracteres opcionales.


.

El punto es un símbolo muy útil. Podemos utilizarlo para sustituir cualquier carácter, por ejemplo, en la búsqueda de

de.a

Podríamos encontrar resultados como dela, desa, deia, dera, de9a... pero nunca dea (aunque sí deaa). En definitiva, este símbolo sustituye a un carácter ni más ni menos.

 

Llegados a este punto podrías realizar búsquedas más complejas combinando varias expresiones que hemos visto, por ejemplo,

de.?a

Encontraría dela, desa, deia, dera, de9a e incluso dea pues al escribir ? a la derecha del punto hemos indicado que ese carácter puede aparecer o no.


uno|otro

El símbolo | se utiliza para representar la conjunción lógica OR, es decir, uno u otro.

Podemos buscar

99|ade

Y encontraríamos resultados tan variados como adecuado, cadena, 1099, 9900, etc...

Piensa que ahora podemos complicar mucho más las búsquedas combinando todos los símbolos vistos, con esta búsqueda:

de.?a|de?a

Encontraríamos resultados como dela, desarmado, dea (que cumple ambas condiciones) o da (que cumple la segunda).


{n}

Los símbolos de llave indican repetición.

Nos ayudarán a establecer el número de veces que se repite el carácter al cual precede. Por ejemplo, buscando

cas{2}a

Encontraría únicamente las palabras que contengan cassa (como cassa, micassa, ocassa7a, recassaa...).

Sin embargo, la búsqueda de

cas{2}

Podría encontrar cassa, casssa, micassssa, etc... Pues buscará una cadena que contenga ca seguida de 2 eses.


{n,m}

Este sería otro caso de símbolo de llave, pero en este caso introduciremos dos números.

Estos números indicarán la repetición que puede tener el carácter al cual preceden. Por ejemplo, la búsqueda:

m{2,4}

Encontraría coincidencias con cadenas que contuviesen al menos 2 m o hasta como máximo 4.

Posibles resultados serían mm, mmm o mmmm. La cadena ummmm sí que se encontraría, mientras que en ummmmm sólo encontraría las 4 primeras emes.

 

En esta expresión regular podemos obviar la segunda parte para conseguir algo como esto:

m{2,}

El resultado ahora sería cualquier cadena que contenga al menos 2 m y sin máximo de repetición.

Las cadenas umm, ummmmmmm o ummmmmmmmmmm se encontrarían sin problemas.


Marzo-2015
Volver Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook ,    G+            Sobre aulaClic            Política de Cookies


© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.