Expresiones regulares - Conocelas y pierdeles el miedo PARTE 2
Chavos!!! esta es la segunda entrega del articulo referente a expresiones regulares. Esta muy bien explicado, para nosotros los beginners! :D
Escapando caracteres.
Puede suceder que necesitemos incluir en nuestro patrón algún meta carácter como signo literal, es decir, por si mismo y no por lo que representa. Para indicar esta finalidad usaremos como caracteres de escape a la barra invertida ´\’. Como regla general, la barra invertida ‘\’ convierte en normales a los caracteres especiales.
Ejemplo
| Expresion | Coincidencia |
| ´\$100´ | el ala aleve del leve abanico cuesta $100 |
El comodin ‘.’
El meta carácter punto ‘.’ es el comodín por excelencia. Un punto en el patrón representa cualquier carácter excepto nueva línea.
Ejemplo:
| Expresion | Coincidencia |
| ´.l´ | el ala aleve del leve abanico |
Observa en el ejemplo anterior como el patrón coincide con cualquier carácter (incluido el de espacio en blanco) seguido de una ‘l’.
Clases de Caracteres
Los corchetes ‘[ ]’ definen una clase de caracteres y permiten encontrar cualquiera de los caracteres dentro de un grupo. Imaginemos que queremos encontrar la palabra ‘niño‘, pero también queremos encontrar en caso de que la hayan escrito con ‘n’ el lugar de ‘ñ‘. Podríamos lograr esto con una clase de carácter, de forma que la expresion regular ‘ni[nñ]o’ se interpretaría como “ ‘n‘, seguida de ‘i‘, seguida ya sea de ‘ñ’ o ‘n‘, seguida de ‘o‘ ”.
La mayoría de los metacaracteres pierden su significado al ser utilizados dentro de clases de caracteres. Es así que la expresion ‘[a.]’ se refiere literalmente a la letra ‘a’ y al carácter punto. Un caso especial es el carácter ‘^’, que al ser utilizado al comienzo de una clase de caracteres significa negación. Es decir, que la expresion ‘[^a]’ se refiere a cualquier cadena que NO contenga la letra ‘a‘. Este significado se pierde si el ‘^’ no esta al inicio de la clase de caracteres, así que la expresion [a^] se refiere a la letra a y al carácter ‘^’ literalmente.
Así como la mayoría de los meta caracteres pierden su significado especial al ser utilizados dentro de corchetes existe un carácter que solamente al ser utilizado dentro de los corchetes adquiere un significado especial. Este es el carácter ‘-’ (guión), el cual se utiliza dentro de una clase de caracteres para indicar un rango. Por ejemplo, si queremos referirnos a un carácter hexadecimal, en lugar de definir la clase '[0123456789abcdefABCDEF]' utilizaríamos '[0-9a-fA-F]', que es mucho mas conveniente.
Veamos ejemplos con algunas clases de caracteres:
| Expresion | Explicación y ejemplos de coincidencias |
| ´[abc]´ | El patrón coincide con la cadena si en esta hay ya sea una a, una b, o una c. |
| ‘[a-c]’ | Es equivalente a la expresion anterior |
| ‘c[ao]sa’ | Coincide con casa y con cosa |
| ‘[^abc]’ | Coincide con la cadena si en esta NO hay ninguna a, b ni c. |
| ‘[0-9]‘ | Coincide con una cadena que contenga cualquier numero entre el 0 y el 9 |
| ‘[^0-9]’ | Coincide con una cadena que NO contenga ningún numero. |
| ‘[a-zA-Z]’ | Coincide con cualquier letra mayúscula o minúscula |
Algunos lenguajes de programación definen algunos atajos para clases de caracteres que son comúnmente utilizadas. La siguiente tabla muestra algunos de los atajos mas comunes:
| Atajos | Equivalentes | Explicación |
| ‘\d’ | '[0-9]' | cualquier numero decimal |
| ‘\D’ | '[^0-9' | cualquier carácter que no sea numero |
| ‘\w’ | '[0-9A-Za-z]' | cualquier numero o letra |
| ‘\s’ | '[\t\n\r]' | espacio en blanco: incluye espacio, tabulador, nueva línea o retorno |
- israel altamira's blog
- Login or register to post comments
Comments
1 comment postedTu articulo esta muy bien explicado y pues sobra decir que las expresiones regulares nos ayudan mucho en diferentes situaciones, espero que nuestros lectores sepan aprovecharlo