Expresiones Regulares




Una expresión regular sobre A es una cadena o palabra construida a partir de los elementos de A y los símbolos:



Precedencia


1 ( ) Paréntesis Agrupa opciones o subepresiones
4 | or Indica dos opciones, e.g. a | b
2 * Cerradura Estrella Indica cero o más repeticiones
2 + Cerradura Positiva Indica una o más repeticiones, es decir: a+=aa*
3 xy Concatenación Unión de símbolos, palabras o expresiones e.g. aa, a+b+



Ejemplos: Sea A = { a,b,c }


Expresión Regular Palabras Generadas
a* , a, aa, aaa, ...
a ( b | c ) ab, ac
ab (c)* = abc* ab, abc, abcc, ...
a ( b | c )+ a aba, aca, abba, abca, acba, acca,...



Propiedades


1) w | x = x | w
2) * =
3) w | ( x | y ) = ( w | x ) | y
4) w ( xy ) = ( wx ) y
5) w ( x | y ) = wx | wy
6) ( w | x ) y = wy | xy
7) w = x = x
8) w = w =
9) w* = w | w*
10) ( w* )* = w*
11) w | w = w
12) w | = w



Aplicacion de Expresiones Regulares

Ejemplos: Búsquedas de archivos, e.g. dir *.txt
Búsquedas de textos, e.g. grep main *.c
Procesamiento de textos, e.g. lenguaje Perl.



Bajo este contexto de aplicación las expresiones regulares constituyen un lenguaje especializado en la descripción de patrones de texto utilizando una notación compacta, poderosa y relativamente accesible de implementar.



Alberto Pacheco
http://www.socrates.itch.edu.mx/~apacheco/teoria/teoria.htm
Ultima actualización: Mzo 10, 1999