Cours 4 Les Expressions Régulières
Cours 4 Les Expressions Régulières
Cours 4 Les Expressions Régulières
Introduction
Une expression régulière est, littéralement, une
présentation formelle d’un langage régulier : elle
définit la forme (ou le motif) qui sert de modèle aux
mots du langage en question.
2 W.SAADI
Expression régulière (1)
Soit un alphabet quelconque ne contenant pas les
symboles { ,+, |, ., (, )}. Une expression régulière est un
mot défini sur l’alphabet { ,+, |, ., (, )} permettant de
représenter un langage régulier de la façon suivante :
est une expression régulière qui dénote (représente) le
langage vide
L’expression régulière dénote le langage L = {}
L’expression régulière a (a ) dénote le langage L = {a}
3 W.SAADI
Expression régulière (2)
Si r est une expression régulière qui dénote L alors (r)
(respectivement (r)+) est l’expression régulière qui dénote L
(respectivement L+)
Si r est une expression régulière dénotant L et s une
expression régulière dénotant L′ alors (r)|(s) est une
expression régulière dénotant L + L′
L’expression régulière (r).(s) (ou simplement (r)(s)) dénote le
langage L.L′
4 W.SAADI
Définition
Une expression E est une expression régulière sur un
alphabet si et seulement si
E= ou
E = ou
E = a avec a ou
E = E1 | E2 et E1 et E2 sont deux expressions régulières sur
ou
E = E1.E2 et E1 et E2 sont deux expressions régulières sur
ou
E = E1* et E1 est une expression régulière sur
Exemple 1
a : dénote le langage régulier an (n 0) ;
6 W.SAADI
Priorité des operateurs
Afin d’alléger les expressions régulières, on introduit les priorités
associative a gauche.
7 W.SAADI
Exemple 2
(a) a| ((b)*(c)) equivalent à : a | b*c
(0+(1(0)*)).
8 W.SAADI
Expressions régulières ambiguës
Une expression régulière est dite ambiguë s’il existe au
l’expression régulière.
9 W.SAADI
Exemple 3
prenons l’expression régulière a b . Soit à décider si le mot
aab est décrit ou non par cette expression. On peut
écrire :
10 W.SAADI
Exemple 4
Considérons l’expression (a|b) a(a|b) décrivant tous les
mots sur {a, b} contenant le facteur a. Soit à faire
correspondre le mot abaab, on a :
11 W.SAADI
Propriétés sur les expressions régulières
Si p, q et r sont trois expressions régulières alors :
p. = .p = ; (p*) *= p* ;
p. = .p = p ;
p + = + p =p;
p*.p = p.p* ;
12 W.SAADI
Langage régulier ou rationnel (définition 3)
Un langage est dit régulier si et seulement s’il est dénoté
(représenté) par une expression régulière et on écrit L(E).
La correspondance entre expression et langage n’est pas
biunivoque : chaque expression dénote un unique langage, mais
à un langage donné peuvent correspondre plusieurs
expressions différentes.
Ainsi, les deux expressions suivantes : a*(a*ba*ba*)* et a*(ba*ba*)*
sont deux variantes notationnelles du même langage sur
l’alphabet {a, b}.
13 W.SAADI
Définition (langage décrit par une
expression régulière)
Le langage L(E) décrit par une expression régulière E définie sur un
alphabet A est défini par :
L(E) = ; si E = ,
L(E) ={} si E = ,
L(E) = {a} si E = a,
L(E1) =
L(E2) =
Expressions équivalentes
16 W.SAADI
Exercice
Soit A={a, b, c, d} un vocabulaire.
17 W.SAADI
Solution
AA est le langage des mots de longueur 2.
(+A) (+A) est le langage des mots de longueur au plus 2.
(AA)* est le langage des mots de longueur paire.
A* a A* est le langage des mots ayant au moins une
occurrence de a.
A*abA* est le langage des mots ayant au moins une
occurrence du facteur ab.
A* a A* b A* est le langage des mots ayant au moins une
occurrence de a puis ensuite une occurrence d’un b.
(ab)* est le langage des mots commençant par a, finissant par
b et n’ayant pas deux a ou deux b consécutifs.
18 W.SAADI