Er PDF
Er PDF
Er PDF
Introducción
La expresiones regulares (ER) son una forma de representar cadenas de caracteres. Se
usan en operaciones de comparación. Las expresiones regulares permiten realizar
búsquedas o sustituciones de gran complejidad.
Las búsquedas en el editor vi con los comandos / y ? aceptan expresiones regulares; esto
hace las búsquedas mucho más potentes y flexibles.
Las expresiones regulares son aceptadas en otros editores y en muchos comandos con
algunas diferencias de sintaxis.
Una expresión regular es un patrón que describe un conjunto de cadenas de caracteres. Por
ejemplo, el patrón aba*.txt representa el conjunto de cadenas de caracteres que comienzan
con aba, contienen cualquier otro grupo de caracteres, luego un punto, y finalmente la cadena
txt. El símbolo * se interpreta como "0, 1 o más caracteres cualesquiera".
Metacaracteres
La construcción de expresiones regulares depende de la asignación de significado especial a
algunos caracteres. En el patrón aba*.txt el caracter * no vale por sí mismo, como el
caracter asterisco, sino que indica un "conjunto de caracteres cualesquiera". Asimismo, el
caracter ? no se interpreta como el signo de interrogación sino que representa "un caracter
cualquiera y uno solo". Estos caracteres a los que se asigna significado especial se
denominan "metacaracteres".
El conjunto de metacaracteres para expresiones regulares es el siguiente:
\ ^ $ . [ ] { } | ( ) * + ?
[abc]
Caracter que es a, b o c
[^abc] Caracter que no sea a, b o c
Por ejemplo, [[:alnum:]] significa [0-9A-Za-z], pero esta última expresión depende de la
secuencia de codificación ASCII, en cambio la primera es portable, no pierde su significado
bajo distintas codificaciones. En los nombres de categorías, los paréntesis rectos forman
parte del nombre de la categoría, no pueden ser omitidos.
\c
elimina significado especial de un caracter c; el \ escapa el significado
especial
[...]
uno cualquiera de los caracteres ...; acepta intervalos del tipo a-z, 0-9, A-Z
(lista)
[^...] un caracter distinto de ... ; acepta intervalos del tipo a-z, 0-9, A-Z
[0123456789] 0123456789
[0-9] 0123456789
En el editor vi, las expresiones regulares permiten realizar búsquedas tales como:
/^Desde
Exp.Reg.Ext. Significado
r+ 1 o más ocurrencias de la ER r
r{n} n ocurrencias de la ER r
r1|r2 la ER r1 o la ER r2 (alternativa)
(r) ER anidada
[0-9]? cadena_vacía 0 1 2 .. 9
^a|b a b
^[0-9]?b b 0b 1b 2b .. 9b