Les expressions régulières Les expressions régulières sont un un

Transcription

Les expressions régulières Les expressions régulières sont un un
Les expressions régulières
Les expressions régulières sont un un outil descriptif qui consiste en un ensemble de conventions de
notation et sert à décrire des éléments textuels.
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
motif t[iao]c.
Elles sont parfois appelées motifs réguliers ou motifs ou patrons.
Elles peuvent représenter n’importe quelle unité textuelle. On dit que l’unité est reconnue par
l’expression régulière.
Elles 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 les commandes qui interprètent les
expressions régulières sur les graphies n’interprètent pas les expressions régulières sur les
caractères et vice versa. De plus les symboles ne sont pas les mêmes. (Voir plus bas la
correspondance entre les deux types de symboles).
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) : 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, suite de caractères littéraux et de caractères spéciaux,
qui a pour but de décrire des graphies (et non des séquences de graphies).
Sa syntaxe est la suivante :
•
•
•
•
•
Le symbole . (point) désigne n'importe quel caractère.
Ex. : .oule sélectionnera les mots boule, coule, foule, etc.
Une expression telle que [abcd] désigne un caractère qui est soit a, soit b, soit c, soit d.
Ex. : coule[sr] sélectionnera les mots coules ou couler.
Une expression telle que [^abcd] désigne un caractère quelconque, à condition qu'il soit différent de
a ,b,c ou d.
Ex. : [^cr]oule sélectionnera 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 |. Ce symbole signifie qu'il y a alternative.
Ex. : cheva(l|ux) sélectionnera cheval ou chevaux.
Les parenthèses peuvent être imbriquées à plusieurs niveaux :
Ex. (crainti(f|ve)|peureu(x|se)) sélectionnera craintif, craintive, peureux, peureuse.
Symboles de modification.
o Le symbole * placé derrière un caractère ou un groupe signifie que ce caractère ou groupe
peut être absent ou se répéter un nombre quelconque de fois. Ce symbole peut se placer
derrière n'importe quel caractère ou groupe de caractères, mais il est en fait très pratique
lorsqu'il est associé au symbole . (point) désignant n'importe quel caractère.
Ex. : .*form.* sélectionnera les mots contenant la chaîne "form" tels que formée, réforme,
informel etc.
Ex. : bla(bla)* sélectionnera bla, blabla, blablabla, ...
o
o
Le symbole + placé derrière un caractère ou un groupe signifie que ce caractère ou groupe
de caractères doit exister et peut se répéter un nombre quelconque de fois.
Ex. : .+form.* sélectionnera les mots contenant la chaîne "form" précédée d'au moins un
caractère.
Ex. : bla(bla)+ sélectionnera blabla, blablabla, ...
Le symbole ? placé derrière un caractère ou un groupe de caractères signifie que ce caractère
ou groupe est optionnel.
Ex. : a?politiques? sélectionnera les mots politique, politiques, apolitique et apolitiques.
Ex. cinéma(tograph(e|ique))?s? sélectionnera : cinéma, cinémas, cinématographe,
cinématographes, cinématographique, cinématographiques.
Seul le critère de sélection du TLFi ou de Frantext interprète les expressions régulières sur les
caractères. Les autres commandes du TLFi ou de Stella (moteur de recherche dans Frantext) ne
comprennent que les expressions régulières sur les graphies..
Notez que &lnom_de_liste est une graphie : une des graphies de la liste nom_de_liste.
Une expression régulière sur les graphies est 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.
Exemples d’expressions Stella à utiliser dans les formulaires de recherche :
&m : mot fléchi, substantif ou adjectif. &moeil cherche œil et yeux
&mbeau cherche beau, bel, beaux, belle, belles
&c : conjugaison d’un verbe &cconnaître cherche toutes les formes (conjuguées ou
non) du verbe
&l : appel d’une liste créée auparavant. Si une liste, nommée couleur, comprenant les
couleurs rouge, sombre, or, noir, a été crée manuellement auparavant, on pourra
chercher : soleil &lcouleur qui cherchera soleil rouge, soleil sombre, soleil or, soleil
noir
&q : mot(s) quelconque(s) On donne entre parenthèses le nombre de mots
quelconques voulus &q(0,7) ; cherche de 0 à 7 mots bouteille &q(0,7) eau donne des
résultats de ce type : 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
& ? : mot optionnel & ?belle lurette cherche lurette et belle lurette
une&?(toutepetite)fille cherche unefille et unetoutepetitefille
une&?(&?toutepetite)fille cherche unefille,unepetitefille,unetoutepetite fille
(|): expression de choix (manière|façon) de (dire|faire) cherche manière de dire, façon
de dire, manière de faire, façon de faire
^ : symbole de négation une ^petite fille cherche les contextes qui contiennent une
fille avec un mot entre les deux qui ne sera pas petite
&+ : symbole de répétition indiquant que l’expression peut se produire une ou
plusieurs fois
&* : symbole de répétition indiquant que l’expression peut se produire 0, une ou
plusieurs fois
&e(g= ) : entité catégorisée Le code grammatical doit être utilisé en respectant les
majuscules et les minuscules (voir la liste dans Memo Frantext).
&e(g=S) cherche les substantifs. &e(g=S A) cherche les substantifs et les adjectifs.
&e(c= ) : le contenu textuel de l’entité peut-être précisé &e(c=&chaïr)
&e(g=V c=savons) cherche le verbe savoir à la 1ère personne du pluriel
&e(g=S c=savons) cherche le substantif savon au pluriel L’ordre dans la parenthèse
n’a pas d’importance : &e(g=S c=savons) est strictement égal à &e(c=savons g=S)
&e(c !=) : l’entité ne contient pas le contenu exprimé
&e(g=S c=&ltaille c !=taille) désigne une entité de la liste aille qui est un substantif
et autre que taille.
Les codes grammaticaux.
Ils peuvent être éventuellement précédés des préfixes i (code reconnu avec
incertitude) ou c (code reconnu avec certitude)
&e(g=cCc) : désigne une conjonction de coordination reconnue avec certitude
&e(g=iCc) : désigne une conjonction de coordination reconnue avec incertitude
&r : invocation d’une règle de grammaire
&rXXX,ggg : invocation de la règle XXX de la grammaire ggg
&1, &2, &3,... paramètres pouvant être utilisés dans les grammaires
Les opérateurs sur les caractères 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 (Listes.
critère de
sélection)
Opérateurs sur les graphies (Lancer
une
recherche)
?
&?
amis?
un &? grand homme ou un &? (très grand)
homme
.
&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…
une graphie autre que .
ex : sécurité ^sociale

Documents pareils