82
CHAPITRE 4. LANGAGE SQL
Formalisme
Comme nous allons le voir, dans une expression régulière, certains symboles ont une signification
spéciale. Dans ce qui suit, expreg, expreg_1, expreg_2 désignent des expressions régulières, caractère
un caractère quelconque et liste_de_caractères une liste de caractères quelconque.
caractère : un caractère est une expression régulière qui désigne le caractère lui-même, excepté pour
les caractères ., ?, +, *, {, |, (, ), ^, $, \, [, ]. Ces derniers sont des méta-caractères et ont une
signification spéciale. Pour désigner ces méta-caractères, il faut les faire précéder d’un antislash
(\., \?, \+, \*, \{, \|, \(, \), \^, \$, \\, \[, \]).
[liste_de_caractères] : est une expression régulière qui décrit l’un des caractères de la liste de
caractères, par exemple [abcdf] décrit le caractère a, le b, le c, le d ou le f ; le caractère - permet
de décrire des ensembles de caractères consécutifs, par exemple [a-df] est équivalent à [abcdf] ;
la plupart des méta-caractères perdent leur signification spéciale dans une liste, pour insérer un ]
dans une liste, il faut le mettre en tête de liste, pour inclure un ^, il faut le mettre n’importe où sauf
en tête de liste, enfin un - se place à la fin de la liste.
[ˆliste_de_caractères] : est une expression régulière qui décrit les caractères qui ne sont pas dans
la liste de caractères.
[ :alnum :] : à l’intérieur d’une liste, décrit un caractère alpha-numérique ([[:alnum:]] est équi-
valent à [0-9A-Za-z]) ; sur le même principe, on a également [:alpha:], [:cntrl:], [:digit:],
[:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] et [:xdigit:].
. : est une expression régulière et un méta-caractère qui désigne n’importe quel caractère.
ˆ : est une expression régulière et un méta-caractère qui désigne le début d’une chaîne de caractères.
$ : est une expression régulière et un méta-caractère qui désigne la fin d’une chaîne de caractères.
expreg ? : est une expression régulière qui décrit zéro ou une fois expreg.
expreg* : est une expressi