Creando y entendiendo las Expresiones regulares (I)

Las expresiones regulares, o patrones, son una de las cosas más difíciles de entender debido a su complejidad, pero no nos asustemos. Una vez que las entendamos y les cojamos el tranquillo nos serán de muchísima utilidad.

¿Que son?

Las expresiones regulares son patrones que permiten buscar coincidencias con combinaciones de caracteres dentro de cadenas de texto.

Caracteres especiales:

Para definir el patrón usamos una combinación de caracteres especiales que nos ayudarán a crear la expresion. Los caracteres especiales más comunes son:

Significado Ejemplo
\ Indica que el siguiente
caracter normal debe ser considerado como especial. También se utiliza como caracter de
escape para los caracteres especiales.
/\n/
encuentra un salto de líena. Si se desea buscar el caracter ‘\’, habrá que utilizar /\\/
^ Se utiliza para
encontrar el comienzo de una línea.
/a/
encuentra una ‘a’ en cualquier lugar, pero /^a/ haya una
coincidencia con el caracter ‘a’ si se encuentra al comienzo de una línea.
$ Se utiliza
para encontrar el final de una línea.
* Encuentra coincidencia
del caracter que le precede cuando aparece 0 o más veces en la cadena.
/hola*/
encuentra coincidencias en las cadena "hol", "hola" y
"holaaaa".
+ Igual que
el ‘*’, pero cuando el caracter aparece 1 o más veces.
? Igual que
el ‘*’, pero cuando el caracter aparece 0 o 1 vez.
. Se utiliza para
encontrar cualquier caracter que no sea un caracter de nueva línea.
/.sa/
encontrará coincidencias en las cadenas "casa", "cosa" y
"cesa", pero no en "asa".
(x) Encuentra
coincidencias con ‘x’, y recuerda el patrón para su posterior utilización.
x|y Encuentra
coincidencia si aparece el caracter ‘x’ o el caracter ‘y’.
{n} Encuentra coincidencia
si hay exactamente n apariciones del caracter que precede.
Por ejemplo, /a{3}/ encuentra coincidencia en "holaaa", pero no en
"holaa".
{n,} Encuentra
coincidencia si hay al menos n apariciones del caracter que precede.
{n,m} Encuentra
coincidencia si hay como mínimo n y com máximo m apariciones del caracter que precede.
[xyz] Representa un conjunto
de caracteres individuales.
/[aeiou]/
encuentra coincidencias con cualquier vocal. Si se utiliza el caracter ‘-’ se pueden
definir rangos. Por ejemplo, /[0-3]/ encuentra coincidencias
si aparecen en la cadena los caracteres ’0′, ’1′, ’2′ o ’3′.
[^xyz] Representa
un conjunto de caracteres individuales complementario. Encunetra coincidencias con
aquellos caracteres que NO aparezcan en el conjunto. Al igual que en el caso anterior, con
el ‘-’ se pueden definir rangos.
[\b] Encuentra
coincidencia con el caracter de retroceso.
\b Encuentra coincidencias
con los límites de las palabras.
Por ejemplo, /\bola/ encuentra la cadena "ola" en "Viene una
ola", pero no en "Viene una cola".

Y con estoy ya podemos crear nuestras própias expresiones regulares.

En el próximo capítulo enseñaré algunas de las expresiones regulares más comunes explicándolas para que además de sernos utiles las entendamos.