Teaching Methods & Materials > Mathematics">
Expresiones Regulares
Expresiones Regulares
Expresiones Regulares
Expresiones regulares
Las expresiones regulares representan lenguajes regulares y su proposito es simplificar la escritura de los lenguajes regulares.
La siguiente es la definicion recursiva de las expresiones regulares sobre un
alfabeto dado.
1. Expresiones regulares basicas:
es una expresion regular que representa al lenguaje .
es una expresion regular que representa al lenguaje {}.
a es una expresion regular que representa al lenguaje {a}, a .
2. Si R y S son expresiones regulares sobre , tambien lo son:
(R)(S)
(R S)
(R)
(R)(S) representa la concatenacion de los lenguajes representados por R y
S; (R S) representa su union, y (R) representa la clausura de Kleene del
lenguaje representado por R. Los parentesis ( y ) son smbolos de agrupacion
y se pueden omitir si no hay peligro de ambig
uedad.
Para una expresion regular R cualquiera se utiliza en ocasiones la siguiente notacion:
L(R) := lenguaje representado por R.
Utilizando esta notacion y la definicion de expresion regular podemos escribir,
para R y S expresiones regulares arbitrarias:
L() = .
L() = {}.
L(a) = {a}, a .
L(RS) = L(R)L(S).
L(R S) = L(R) L(S).
L(R ) = L(R) .
Ejemplo
Ejemplo
Ejemplos
Ejemplos
Ejemplos
Ejemplo Sea = {a, b, c}. Encontrar una expresion regular que represente el
lenguaje de todas las cadenas que no contienen la cadena bc.
Solucion: Una b puede estar seguida solamente de otra b o de una a, mientras
que las aes y las ces pueden estar seguidas de cualquier smbolo. Esto se puede
visualizar por medio del siguiente diagrama:
tinuaci
on:
Ejercicios
1. = {0, 1, 2}. Lenguaje de todas las cadenas que comienzan con 2 y terminan con 1.
2. = {a, b, c}. Lenguaje de todas las cadenas que tienen un n
umero par de
smbolos.
3. = {a, b}. Lenguaje de todas las cadenas que tienen un n
umero impar de
smbolos.
4. = {a, b, c}. Lenguaje de todas las cadenas que tienen un n
umero impar
de smbolos.
5. = {a, b}. Lenguaje de todas las cadenas que tienen un n
umero impar de
aes.
6. = {0, 1}. Lenguaje de todas las cadenas que tienen por lo menos un 0 y
por lo menos un 1.
7. = {0, 1}. Lenguaje de todas las cadenas que tienen a lo sumo dos ceros
consecutivos.
8. = {0, 1}. Lenguaje de todas las cadenas cuyo quinto smbolo, de izquierda
a derecha, es un 1.
9. = {0, 1}. Lenguaje de todas las cadenas de longitud par 2 formadas
por ceros y unos alternados.
10. = {0, 1}. Lenguaje de todas las cadenas cuya longitud es 4.
11. = {0, 1}. Lenguaje de todas las cadenas de longitud impar que tienen
unos u
nicamente en las posiciones impares.
12. = {a, b}. Lenguaje de todas las cadenas que tienen la cadena ab un
n
umero par de veces.
13. = {a, b}. Lenguaje de todas las cadenas que tienen un n
umero par de aes
o un n
umero impar de bes.
14. = {0, 1}. Lenguaje de todas las cadenas cuya longitud es un m
ultiplo de
tres.
15. = {0, 1, 2}. Lenguaje de todas las cadenas que no contienen dos unos
consecutivos.
No todos los lenguajes sobre un alfabeto dado son regulares. Mas
adelante se mostrara que el lenguaje
L = {, ab, aabb, aaabbb, . . . } = {an bn : n 0}
sobre = {a, b} no se puede representar por medio de una expresion
regular, y por lo tanto, no es un lenguaje regular.