You are on page 1of 24

Expresiones regulares

Nelson Jaramillo Enríquez


Expresiones Regulares
Expresiones regulares

Expresiones
regulares

Lenguajes
regulares

Gramáticas Autómatas
lineales finitos
Expresiones y lenguajes regulares
Lenguajes regulares

Introducción
Los lenguajes regulares han sido descubiertos de forma independiente en campos científicos dispares.
Ejemplo.
Conducción de señales de entrada de un circuito de conducción secuencial a un cierto estado,
El léxico de los lenguajes de programación modelado por reglas gramaticales simples,
El análisis simplificado de comportamiento neural
Definición
El lenguaje de un alfabeto = {a1, a2,…… an } es regular si este puede ser expresado por la aplicación de
un número finito de veces de las operaciones de concatenación, unión, y la estrella de Kleen, iniciando
con los lenguajes unitarios {a1}, {a2}, … , {an}
o el lenguaje vacío ({ε}).
Expresiones y lenguajes regulares
Otra definición
Una expresión regular es una cadena r que contiene los caracteres terminales del alfabeto y los meta-símbolos:
. (Concatenación) u (Unión) * (Estrella) (Conjunto vacío) ( ) de acuerdo con las siguiente reglas:

Donde s y t son lenguajes regulares


Ejemplo
Sea Σ = {a}. El lenguaje denotado por la expresión e = (aaaa)*=(aaaa)0U(aaaa)1
U(aaaa)2U(aaaa)3……….
contiene las secuencias de a múltiples de cuatro:
Le = {an | n mod 4 = 0}
Expresiones y lenguajes regulares
Otra definición
Ejemplo Sea Σ = {1}, donde 1 puede verse como un pulso o una señal. El lenguaje denotado por
expresión:
 e = (111)*
 contiene las secuencias de unos múltiplo de tres y se la representa como:
 
Le = {1n | n mod 3 = 0}

Observe que al quitar los paréntesis el idioma cambia, debido a la precedencia de estrella sobre
concatenación:
 e1 = 111* = 11 (1) *
 
Le1= {1n | n ≥ 2}
 
Expresiones y lenguajes regulares
Ejemplo
Expresiones y lenguajes regulares

Ejemplos concatenación
Sea Σ ={L , N} donde
L = {a, e, i, o, u} y N = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Sea la Expresión Regular LL={a,e,i,o,u} {a,e,i,o,u}={aa,ae,ai,ao,au,ea,……}

Palabras Válidas Palabras no válidas


ae 1
ee 8a
io er
ua Tt
iu uue
Expresiones y lenguajes regulares

Ejemplos concatenación con L y N

Sea la Expresión Regular LNN

Palabras Válidas Palabras no válidas


a01 1
e54 aa123
i33 e234
u43 34e
i44 4444
Expresiones y lenguajes regulares
Ejercicios planteados
1. Con L y N, escribe 4 palabras validas y 4 no válidas para las siguientes expresiones:
 NLNL 9a2L
 NNNLN 945a9

2. Identificar los alfabetos y representa una expresión regular que reconozca la placa de un
vehículo, Ej. AUT123, GDP873
Σ ={L , N} N={0,1,2…..9} L={A,….,Z}
LLLNNN
Expresiones y lenguajes regulares
Ejemplos operador unión
Sea L y N dos alfabetos
L = {a, e, i, o, u} y N = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Sea la Expresión Regular NLN | LNL o (NLN | LNL)

Palabras Válidas Palabras no válidas


9i9 1333
8u7 8a42
1a2 er
u6a u8uuu
I8u uue
o3i o5i9
Expresiones y lenguajes regulares
Ejercicios planteados con unión
1. Con los alfabetos de la diapositiva, escribe 4 palabras validas y 4 no válidas para las
siguientes expresiones:
 NN ( LL | NN ) = 44ae , 4487
 NNL | NLN | LNN = 5a6 o i56

2. Identifica los alfabetos y representa una expresión regular que reconozca la placa de un
vehículo, sea moto o carro, Ej. AUT123, GDP873, RTC45A, QMW98D
Σ ={L , N} N={0,1,2…..9} L={A,….,Z}
LLLNNL
LLLNNN
(LLLNNLu LLLNNN) (LLLNNL | LLLNNN)
Expresiones y lenguajes regulares
Ejemplos de expresiones regulares con cerradura de Kleene
Sea L y N dos alfabetos
L = {a, e, i, o, u} y N = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Sea la Expresión Regular L*


Las palabras válidas serían: ε, a, aaa, aeiou, oiuaoiaooaiooaaaiii
Sea la Expresión Regular N*
Las palabras válidas serían: ε, 1,2,3,45,1200,23000, 19802983001
Sea la Expresión Regular NL*N
Las palabras válidas serían: 8aei9, 9i9, 98, 3aoaooiiu9
Expresiones y lenguajes regulares
Ejemplos de expresiones regulares con cerradura de Kleene

Sea la Expresión Regular (NL)*


Las palabras válidas serían: ε, 9u,8i, 9i8u7a6e
El patrón NL se repite en varias ocasiones

Sea la Expresión Regular (N | L )*


Las palabras válidas serían: ε, 9, u, 9u, u9, 9ieeia8827u9ooo832
Indistintamente puede ir un símbolo de N o L
Expresiones y lenguajes regulares

Ejercicios planteados con los alfabetos L y N


1. Con L y N planteados, escribir 4 cadena validas para las siguientes expresiones:
 LL (N*L) = aab, ae555555u
 L*N*N
 NN*
 NN (L*L)
Expresiones y lenguajes regulares
Ejercicios planteados con los alfabetos L y N
1. Con los alfabetos de L y N, escribir 4 cadena válidas para las siguientes expresiones:
• (L | NN) * =LLLNNNNNNLLLLNN
• (LNLL)* = LNLLLNLLLNLL elección de potencia 3
• N (L | N)* L = cadena míni
• NN (L*L)* =
2. Identificar los alfabetos y representar una expresión regular que reconozca:
Un numero entero sin ceros a la izquierda, Ej. 1000, 200, 19829, 9828, no es válido el 001,
0200, 092932. N={1..9} N(N | 0)*
Una variable de un lenguaje de programación, Ej. A, b, c, x11, casa, costo, a_12, r_, no es
válido, 34, 200, 9i, 87_d, 11x, _
L={A..Z,a,…,z} N={0,..9} Σ ={L , N,_} L(_ |N|L)*
Operadores – Cerradura positiva

Ejemplos con Cerradura Positiva

Sea L y N dos alfabetos


L = {a, e, i, o, u} y N = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Sea la Expresión Regular L+
Las palabras válidas serían: a, aaa, aeiou, oiuaoiaooaiooaaaiii
Sea la Expresión Regular N+
Las palabras válidas serían: 1,2,3,45,1200,23000, 19802983001 Tener en
cuenta que:
Sea la Expresión Regular NL+N
Las palabras válidas serían: 8aei9, 9i9, 3aoaooiiu9 A+ = AA*
Expresiones y lenguajes regulares
Lenguaje regular
Un lenguaje es regular si este es definido por una expresión regular.

Colección de los lenguajes regulares REG


La colección de todos los lenguajes regulares es llamada la familia REG de los lenguajes
regulares.

Colección de los lenguajes finitos FIN


La colección de los lenguajes finitos FIN son todos aquellos lenguajes cuya cardinalidad es
finita.
Expresiones y lenguajes regulares
Elección
Expresiones y lenguajes regulares
Derivación y lenguaje
Expresiones y lenguajes regulares
Derivación y lenguaje
Lenguaje definido por la
expresión regular
Expresiones y lenguajes regulares
Derivación y lenguaje
Ejemplo Considere las derivaciones para encontrar la cadena aaacf de la expresión
relacional

Compare las derivaciones (1) y (2). En (1) la primera opción toma el s.e. más a la izquierda
a* de donde se extrae aaa, mientras que en (2) se extrae primero la f de f + y luego la c de (b
∪ c ∪ d), o sea los de más a la derecha.
En la 3 como los dos pasos son independientes los aplica en cualquier orden
Expresiones y lenguajes regulares
Ambigüedad de las expresiones regulares
Ejemplo: Se tiene la siguiente e.r.. Realizar la derivación para las cadenas aa y bb y determinar sus
características.

Se dice que una cadena (y el r.e. que la deriva) es ambigua, si y solo si puede ser obtenida a través de dos
derivaciones estructuralmente diferentes.
Expresiones y lenguajes regulares
Ambigüedad de las expresiones regulares
Procedimiento para determinar la ambigüedad.
Enumere las letras (símbolos o caracteres) de las expresiones regulares.
Una expresión f es ambigua si el lenguaje definido por la correspondiente expresión regular f (es la
versión numerada de f ) contiene cadenas definidas x, y tales que ellas llegan a ser idénticas cuando los
números son borrados.
Ejemplo anterior
 f= (a1∪ b2)*a3 (a4 ∪ b5)* derivación de la cadena aa
a1a3 = (a1 ∪ b2)∗a3 (a4 ∪ b5)* ⇒a1a3(a4∪b5)* ⇒a1a3ε⇒a1a3
a3a4 = (a1 ∪ b2)∗a3 (a4 ∪ b5)∗ ⇒ ε a3(a4∪b5)*⇒εa3a4⇒a3a4
Son dos cadena diferentes que al quitar lo números se obtiene aa, por lo tanto la cadena aa es ambigua y
la e. r. también.
Gracias por su atención
Muchos éxitos

You might also like