Les expressions régulières.

publicité
Mot et graphie
pomme de terre est un mot qui comprend 3 graphies.
Notez que &lnom_de_liste est une graphie : une des graphies de la liste nom_de_liste.
Les expressions régulières
Les expressions régulières sont un outil descriptif obéissant à des règles précises qui sont une série de
conventions de notation et de principes de construction (càd une syntaxe) servant à décrire abstraitement
des éléments textuels1.
régulier signifie ici « qui obéit à des règles ».
Par exemple, elles permettent de désigner de façon unique l’un des mots tic, tac, toc au moyen du seul
motif « t[iao]c. ».
On dit que les mots tic, tac, toc sont reconnus par l’expression régulière ou motif « t[iao]c. ».
Les expressions régulières sont disponibles dans de nombreux environnements informatiques
(systèmes d’exploitation, logiciels).
Dans le cadre du TLFi et de Frantext, il est important de distinguer les expressions régulières sur les
caractères et les expressions régulières sur les graphies car leurs syntaxes diffèrent. (Voir plus bas
la correspondance entre les deux syntaxes).
Une expression régulière sur les caractères est une suite de caractères spéciaux et de caractères
littéraux. Elle peut être composée :
§
§
§
uniquement de caractères littéraux (ceux que l'on trouve dans les textes) : ex : foule
de caractères spéciaux et de caractères littéraux : . oule
uniquement de caractères spéciaux : . +
Une expression régulière sur les caractères décrit une graphie et non une séquence de graphies.
Les caractères spéciaux d’une expression régulière sur les caractères sont :
•
•
•
•
•
1
le point . , qui reconnaît n'importe quel caractère.
Ex. : .oule reconnaît les mots boule, coule, foule,
etc.
Le double crochet [] [abcd] désigne un caractère qui est soit a, soit b, soit c,
soit d. Ex. : coule[sr] reconnaît les mots coules ou couler.
L’exclusion [^…] . Ex. [^abcd] désigne un caractère différent de a ,b,c et d.
[^cr]oule reconnaît les mots foule, houle, poule, etc. mais pas les mots coule et roule.
Les parenthèses servent à délimiter un groupe de caractères. Un groupe peut être
subdivisé en plusieurs sous-groupes par le symbole pipe |. Ce symbole représente
l’alternative. Sous Mac ce symbole s’obtient par la combinaison des touches alt-shift-l.
Sous PC, par la combinaison des touches Altgr -6.
Ex. : cheva(l|ux) reconnaît cheval ou chevaux.
Les parenthèses peuvent être imbriquées à plusieurs niveaux :
Ex. (crainti(f|ve)|peureu(x|se)) reconnaît craintif, craintive, peureux, peureuse.
Quantificateurs :
Introduction aux expressions régulières. Bernard Desgraupes, Vuibert, Paris, 2001.
1
o
o
o
Le symbole * suivant un caractère ou un groupe de caractères signifie que ce
caractère ou groupe peut être absent ou se répéter un nombre quelconque de fois.
Ce symbole peut suivre n'importe quel caractère ou groupe de caractères, mais il
est surtout utilisé à la suite du symbole .
Ex. : .*form.* reconnaît les mots contenant la chaîne "form" tels que formée,
réforme, informel etc.
Ex. : bla(bla)* reconnaît bla, blabla, blablabla, ...
Le symbole + suivant un caractère ou un groupe de caractères signifie que ce
caractère ou groupe de caractères doit apparaître au moins une fois et peut se
répéter.
Ex. : .+form.* reconnaît les mots contenant la chaîne "form" précédée d'au moins
un caractère.
Ex. : bla(bla)+ reconnaît blabla, blablabla, mais pas bla.
Le symbole ? suivant un caractère ou un groupe de caractères signifie que ce
caractère ou groupe est optionnel.
Ex. : a?politiques? reconnaît les mots politique, politiques, apolitique et
apolitiques.
Ex. cinéma(tograph(e|ique))?s? reconnaît : cinéma, cinémas, cinématographe,
cinématographes, cinématographique, cinématographiques.
Le critère de sélection de la commande Liste est une expression régulière sur les caractères.
Depuis Juin 2013 la commande « Recherche dans les textes de Stella (moteur de recherche dans
Frantext) interprète aussi bien les expressions régulières sur les caractères que les expressions régulières
sur les graphies.
Une expression de séquence est une expression régulière sur les graphies. Càd une séquence de
caractères spéciaux et de graphies (que l'on trouve dans les textes).
Elle peut être composée :
o uniquement de graphies : le bel homme
o de caractères spéciaux et de graphies : le & ? bel homme.
Les caractères spéciaux d’une expression régulière sur les graphies sont :
&m : mot fléchi, substantif ou adjectif : &moeil reconnaît œil et yeux,
&mbeau reconnaît beau, bel, beaux, belle, belles.
&c : conjugaison d’un verbe : &cconnaître reconnaît toutes les formes (conjuguées ou non) du
verbe.
&l : appel d’une liste créée auparavant : une liste, nommée couleur, comprenant les couleurs rouge,
sombre, or, noir, a été crée manuellement auparavant, on pourra rechercher : soleil &lcouleur qui
reconnaît soleil rouge, soleil sombre, soleil or, soleil noir
&q : mot quelconque.
&q(n1,n2) reconnaît de 0 à 7 mots quelconques : l’expression bouteille &q(0,7) eau reconnaît :
bouteille d’eau ; bouteille pleine d’eau ; bouteille, pour l’eau ; bouteille d’un vert d’eau ; bouteille
encore à moitié pleine d’eau ; bouteille, du sucre, de l’eau ; bouteille vidée à moitié, puis remplie
d’eau.
Les parenthèses servent à délimiter un groupe de graphies. Un groupe peut être subdivisé en
plusieurs sous-groupes par le symbole pipe |.
Ex. : (manière|façon) de (dire|faire) reconnaît manière de dire, façon de dire, manière de faire,
façon de faire
2
^ : symbole de négation : une ^petite fille reconnaît les contextes qui contiennent une fille avec un mot
entre les deux qui ne sera pas petite. Ex : une grande fille.
sécurité ^sociale.
§
Quantificateurs :
&? : optionnel &?belle lurette reconnaît lurette et belle lurette
une &?(toute petite) fille reconnaît une fille et une toute petite fille
&+ : symbole de répétition indiquant que la graphie ou le groupe de graphies suivant est/sont
répétés une ou plusieurs fois.
&* : symbole de répétition indiquant que la graphie ou le groupe de graphies suivant peut/peuvent être
répétés 0, une ou plusieurs fois.
Opérateurs postfixés ou préfixés
Dans les expressions régulières sur les caractères, les quantificateurs sont postfixés et leurs opérandes
sont un caractère ou une suite de caractères parenthésée.
Les opérateurs sur les graphies sont préfixés et leurs opérandes sont une graphie ou une suite de
graphies parenthésée.
Tableau de correspondance entre les deux types d’opérateurs :
Opérateurs sur les caractères
Opérateurs sur les graphies
?
&?
le caractère ou groupe de caractères qui précède la graphie ou groupe de graphies qui suit est
est optionnel
optionnelle
.
&q
un caractère quelconque
une graphie quelconque
+
&+
plusieurs fois le caractère ou la séquence de
caractères parenthésée qui précède.
plusieurs fois la graphie ou la séquence
parenthésée de graphies qui suit.
*
&*
zéro ou plusieurs fois le caractère ou la séquence zéro ou plusieurs fois la graphie ou la séquence
de caractères parenthésée qui précède
parenthésée de graphies qui suit.
[^aeiouy]
^
un caractère autre que les caractères qui suivent.
une graphie autre que celle qui suit.
3
Téléchargement