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=<aille 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