Sunteți pe pagina 1din 7

Expresiones Regulares

Universidad de Caldas
Autmatas y lenguajes formales
Rubn Daro Garca Guzmn
2014
Introduccin
Las expresiones regulares son otro tipo de
notacin para la definicin de lenguajes.
Las expresiones regulares estn relacionadas
con los autmatas finitos no deterministas.
Dada una gramtica (de tipo 3) que represente
cierto lenguaje, es posible construir a partir de
ella un AF que acepte el mismo lenguaje y
viceversa.
Dado un lenguaje representado mediante una
expresin regular, es posible construir un AF
que acepte el mismo lenguaje y viceversa.
Expresiones regulares
Las expresiones regulares describen los
lenguajes como una especie de expresin
algebraica.
Presentan una forma declarativa de expresar
cadenas.
Sirven como lenguaje de entrada a sistemas
que procesan cadenas.
Fueron introducidas por Kleene en 1956 para
describir lenguajes aceptados por autmatas
finitos.
Definicin de expresin regular
La definicin es recursiva
1. Dado una alfabeto S, entonces , e y todos los
smbolos de S son expresiones regulares sobre S y
representan los lenguajes , {e} y {a} para cada
smbolo a de S.
2. Si a y b son expresiones regulares sobre S, tambin lo
son:
1. (a) (cualquier expresin entre parntesis y representa (L(a)).
2. a b, La unin de las dos expresiones y representa L(a) L(b)
3. ab, la concatenacin de las dos expresiones y representa
L(a)L(b).
4. a
*
, la cerradura de Kleene de a y representa L(a)*
Operadores sobre expresiones
regulares
La unin de dos lenguajes L y M, designada
como L M, es el conjunto de cadenas que
pertenecen a L, a M o a ambos.
Por ejemplo, si L = {001,10,111} y M = { ,001},
entonces L M = { ,10,001,111}.
La concatenacinde los lenguajes L y M es el
conjunto de cadenas que se puede formar
tomando cualquier cadena de L y
concatenndola con cualquier cadena de M.
Por ejemplo, si L={001,10,111} y M = { ,001},
entonces LM, o simplemente LM, es
{001,10,111,001001,10001,111001}
Operadores sobre expresiones
regulares
La cerradura de Kleene de un lenguaje L se designa
mediante L

y representa el conjunto de cadenas que se


pueden formar tomando cualquier nmero de cadenas
de L.
En esta operacin puede haber repeticiones de cadenas,
es decir, la misma cadena se puede seleccionar ms de
una vez.
Por ejemplo, si L = {0,1}, entonces L

es igual a todas las


cadenas de 0s y 1s.
Si L = {0,11}, entonces L

constar de aquellas cadenas


de 0s y 1s tales que los 1s aparezcan por parejas, como
por ejemplo 011, 11110 y .
L

es la unin infinita

, donde L
0
= {}, L
1
= L y L
i
,
para i > 1 es LL L (la concatenacin de i copias de L).
Ejercicios
1. Escriba expresiones regulares para los siguientes lenguajes:
1. El conjunto de cadenas del alfabeto {a,b,c} que contienen al menos una a y al menos una
b.
2. El conjunto de cadenas formadas por 0s y 1s cuyo dcimo smbolo por la derecha sea 1.
3. El conjunto de cadenas formadas por 0s y 1s con a lo sumo una pareja de 1s consecutivos.
4. El conjunto de todas las cadenas formadas por ceros y unos tales que cada pareja de 0s
adyacentes aparece antes que cualquier pareja de 1s adyacentes.
5. El conjunto de cadenas formadas por ceros y unos cuyo nmero de ceros es divisible por
cinco.
2. Proporcione las descripciones informales de los lenguajes correspondientes
a las siguientes expresiones regulares:
1. (1+ )(001)0.
2. (01)000(0+1).
3. (0+10)1.

S-ar putea să vă placă și