Creando y entendiendo las Expresiones regulares (I)
el 1 de December del 2011 @14:37 — 2 comentariosIndice de la serie:
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.
[...] un primer artículo sobre las expresiones regulares aprendimos como crearlas y las diferentes palabras reservadas que podíamos [...]
[...] Creando y entendiendo expresiones regulares [...]