Los caracteres especiales de las expresiones regulares son usadas por cierto número de comandos Unix-Linux y forman un mecanismo potente de selección de cadenas de caracteres.
Las expresiones regulares se componen de caracteres ordinarios y de caracteres con un significado particular. Existen dos tipos de expresiones regulares:
Las expresiones regulares básicas (ERb).
Las expresiones regulares extendidas (ERe).
Las ERb se usan en los comandos siguientes: vi (búsqueda y sustitución). grep, expr, sed, las ERe se usan en los comandos siguientes: grep con la opción -E, egrep, awk.-
Caracteres comunes en ERb y Ere
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ˆ Comienzo de línea $ Fin de línea \< Comienzo de una palabra. Caracteres que pueden formar parte de una palabra: [A-Za-z0-9_] \> Fin de una palabra . Un carácter cualquiera [lista_de_caracteres] Un carácter de los citados en la lista [ˆlista_de_caracteres] Un carácter que no esté entre los citados en la lista [:clase:] Para la lista consulte el capítulo Anexos - Clases de caracteres POSIX. La expresión [:clase:] se debe poner entre corchetes. * De 0 a n veces el carácter o grupo anterior \c Protección del carácter especial c sol Cadena que contenga "sol". ˆsol Cadena que empiece por "sol". sol$ Cadena que termine por "sol". ˆsol$ Cadena que contiene solo "sol". |
Caracteres específicos de ERb
1 2 3 4 5 6 7 |
\{m\} m veces el carácter anterior \{m,\} Al menos m veces el carácter anterior \{m,n\} Entre m y n veces el carácter anterior \(ERb\) Memorización de una ERb \1, \2, ... Recordatorio de memorización |[0-9]\{5\}| Cadena que contenga un número de cinco cifras rodeado de dos barras verticales. |
Caracteres específicos de Ere
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
? 0 o 1 veces el carácter o grupo anterior + De 1 a n veces el carácter o grupo anterior {m} m veces el carácter anterior {m,} Al menos m veces el carácter anterior {m,n} Entre m y n veces el carácter anterior (er1) Agrupación er1|er2|er3 Alternativas ˆ[+-]?[0-9]+$ Cadena que represente un numero entero (al menos una cifra) con la posibilidad de estar precedido de un signo (0 o 1 veces) \|[0-9]{5}\| Cadena que contenga un número de cinco cifras rodeado por dos barras verticales. \{[0-9]{2}\}$ Cadena que termine con dos cifras entre llave. ˆasunto|cosa$ Cadena que empiece con "asunto" o acabe con "cosa". ˆ(truc|cosa)+$ Cadena compuesta de 1 a n ocurrencias de "truc" o de "cosa". |