Algebra de las expresiones regulares

Las expresiones regulares son una poderosa herramienta para manipular textos y datos, con el uso de expresiones regulares usted puede ahorrar tiempo y problemas a manipular documentos, mensajes de correo electrónico (e-mail), archivos de registro, cualquier tipo de información que contenga texto o datos, por ejemplo, las expresiones regulares juegan un papel importante en la
construcción de programas que corren sobre Internet (cgi-bin), ya que pueden implicar textos y datos de todo tipo.

Hay una variedad de leyes algebraicas para las expresiones regulares cada ley afirma que las expresiones de dos formas distintas son equivalentes.

Las expresiones regulares denotan lenguajes.

Por Ejemplo, la expresión regular:

01 ´∗ + 10∗ denota todas Las cadenas que son o un 0 seguido de cualquier Cantidad de 1’s o un 1 seguido de cualquier cantidad de 0’s.

*Existen algunas leyes que se aplican a las expresiones regulares pero no tienen su análoga en la aritmética, especialmente cuando se utiliza el operador de clausura, dichas leyes y propiedades serán expuestas a continuación.*

## Conmutativas

Se dice que un lenguaje L es conmutativo si se cumple que un operador pueda cambiar el orden de sus operadores y aun así obtener el mismo resultado.

*L+M = M +L*. Esta ley, la ley conmutativa de la unión, establece que podemos efectuar la unión de dos lenguajes en cualquier orden.

## Asociativas

La asociativo es la propiedad de un operador que nos permite reagrupar los operando cuando el operador se aplica dos veces.

*(L+M)+N = L+ (M +N)*. Esta ley, la ley asociativa para la unión, establece que podemos efectuar la unión de tres lenguajes bien calculando primero la unión de los dos primeros, o bien la unión de los dos últimos.

## Elemento Identidad

El elemento identidad de un operador es un valor que operado con cualquier otro número no lo altera.

*Ejemplo:*0 es el elemento identidad para la suma, ya que 0+X = X+0 = X, Y 1 es el elemento identidad de la multiplicación, puesto que 1×X = X×1 = X.

*0+L=L+/0= L.* Esta ley establece que /0 es el elemento identidad para la unión.

## Elemento Nulo

Es un valor tal que cuando el operador se aplica al propio elemento nulo y a algún otro valor, el resultado es el elemento nulo.

*Ejemplo:*0 es el elemento nulo de la multiplicación, ya que 0 × x = x × 0 = 0.

## Leyes distributivas

Esta implica a dos operadores y establece que un operador puede aplicarse por separado a cada argumento del otro operador. Existe una ley análoga para las expresiones regulares, que tenemos que establecer de dos formas

1. *L(M + N) = LM + LN*. Ésta es la ley distributiva por la izquierda de la concatenación respecto de la unión.
2. *(M +N)L = ML+NL.* Ésta es la ley distributiva por la derecha de la concatenación respecto de la unión.

## Ley de idempotencia

Se dice que un operador es idempotente si el resultado de aplicarlo a dos valores iguales es dicho valor. Los operadores aritméticos habituales no son idempotentes.

*L + L = L*. Ésta es la ley de idempotencia para la unión, que establece que si tomamos la unión de dos expresiones idénticas, podemos reemplazarla por una copia de la de la expresión.