Você está na página 1de 2

EXPRESSES REGULARES

Uma Expresso Regular ( ER ) um formalismo usado para definir o formato correto de uma cadeia de
caracteres (palavras) da Linguagem sobre um alfabeto ()

ER = Expresso Regular

L(ER) = Linguagem da Expresso Regular

Uma ER sobre um alfabeto indutivamente definida como


O conjunto vazio ( ) uma ER e denota a Linguagem vazia
o L( ) = { }
A palavra sem smbolo ( ) uma ER e denota a Linguagem contendo exclusivamente
o L( ) = { }
Qualquer smbolo ( ) pertencente ao uma ER e denota a Linguagem contendo a palavra
unitria
o L( ) = { } representado apenas por

A ER formada a partir de operaes de concatenao e unio, juntamente com operadores especiais.


Se = {a, b} ento:

Concatenao

o a . b = ab

Unio

o (a + b) = a ou b

Concatenao Sucessiva

A Concatenao Sucessiva define a quantidade de repetio da ER, so eles

o ( * ) pode aparecer zero ou mais a ER

 ab* = a , ab , abb , abbb, ...

 a (a + b)* = a , aa , ab , aaa , aba , ...

 a (ba)* = a , aba , aba , ababa , ...

o ( + ) tem que aparecer um ou mais a ER

 ab+ = ab , abb , abbb, ...

 a (a + b)* = aa , ab , aaa , aba , ...

 a (ba)* = a , aba , aba , ababa , ...


Teoria da Computao 1
Prof. Glucya Carreiro Boechat
Precedncia de Operadores
A Concatenao Sucessiva tem precedncia sobre a concatenao e a unio

A Concatenao tem precedncia sobre a unio

Na tabela abaixo, so apresentadas Expresses Regulares e as correspondentes Linguagens sobre o alfabeto


= {a, b}:

Expresso Regular Linguagem Representada


aa somente a palavra aa

ba* todas as palavras que iniciam por b, seguido por zero ou mais a

(a + b)* todas as palavras sobre o alfabeto { a, b }

(a + b)*aa(a + b)* todas as palavras contendo aa como subpalavra

a*ba*ba* todas as palavras contendo exatamente dois b

(a + b)*(aa + bb) todas as palavras que terminam com aa ou bb

(a + )(b + ba)* todas as palavras que no possuem dois a consecutivos

Exerccios

1) Encontre a ER para as Linguagens:

a) Consiste das palavras sobre o alfabeto = {a , b , c} que contm pelo menos um a e pelo menos um b
b) Consiste das palavras sobre o alfabeto = {0 , 1} cujo o quinto smbolo um 0
c) Consiste das palavras sobre o alfabeto = {a , b} que comece com b e finalize com a
d) Consiste das palavras sobre o alfabeto = {0 , 1} que comece com bb ou um a
e) Consiste das palavras sobre o alfabeto = {a , b} que contm no mnimo dois a
f) Consiste das palavras sobre o alfabeto = {a , b , c} que contm abc como subpalavra

2) Determine as Linguagens correspondentes a seguintes ERs:

a) (aa + b) + (a + bb)
b) (a + b)* aba
c) (a + b) (a + b) b (a + b)*
d) ba+ b
e) b*
Teoria da Computao 2
Prof. Glucya Carreiro Boechat