Les expressions régulières


Le moteur de recherche de Frantext permet l'utilisation d'expressions régulières – appelées également expressions rationnelles – pour rechercher des suites de caractères selon des motifs et des formules logiques. Les expressions régulières peuvent être utilisées dans les recherche avancées, de fréquences, de co-occurrences et de voisinages, ainsi que dans les listes de mots et les grammaires.

Opérateurs

Les opérateurs permettent de spécifier le type de caractères à rechercher.

OpérateurDescriptionExemple de recherche avancéeExemple de résultats séparés par des virgules
()Groupe de caractères d'une expression"(nuit)"nuit
|Choix entre plusieurs alternatives"jour|nuit"jour, nuit
.N'importe quel caractère"n.it"nuit, nait...
\Interpréter littéralement un opérateur"\.".
[]Un des caractères entre crochets"[bp]eau"beau, peau
[^]Tout caractère hormis ceux entre crochets"n[^u]is"nais, nois
[a-z]Un intervalle composé de caractères alphabétiques de a à z, en minuscules et sans diacritiques"[a-z]ait"fait, sait, lait...
[0-9]Un intervalle composé de chiffres de 0 à 9"[0-9]"0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Pour aller plus loin, consultez la documentation dédiée à l'utilisation des caractères spéciaux dans Frantext.

Quantificateurs

Les quantificateurs permettent de spécifier le nombre de caractères à rechercher.

QuantificateurDescriptionExemple de recherche avancéeExemple de résultats séparés par des virgules
?Zéro ou une fois le caractère ou groupe qui précède"nu(it)?"nuit, nu
*Zéro ou plusieurs fois le caractère ou groupe qui précède"cré*e"cre, crée, créée
+Une ou plusieurs fois le caractère ou groupe qui précède"cré+e"crée, créée
{n}Exactement n occurrences de l'expression précédant les accolades. La valeur de n est limitée à 32."(ha){2}"haha
{n,n}Exactement n occurrences de l'expression précédant les accolades. La valeur de n est limitée à 32."(ha){2,2}"haha
{n,m}Entre n et m occurrences de l'expression précédant les accolades. Les valeurs de n et m sont limitées à 32."(ha){2,3}"haha, hahaha
{n,}Au moins n occurrences de l'expression précédant les accolades. La valeur de n est limitée à 32."(ha){2,}"haha, hahaha, hahahaha...

Classes de caractères

Les classes de caractères correspondent à des caractères ou des intervalles prédéfinis.

ClasseDescriptionExemple de recherche avancéeExemple de résultats séparés par des virgules
\dUn chiffre, correspond à [0-9]"\d"0, 1, 2, 3, 4, 5, 6, 7, 8, 9
\DTout caractère hormis un chiffre, correspond à [^0-9]"\D"., à, -, a, ?, ;, y, :, «...
\xNombre hexadécimal sur 2 chiffres"\x40"@
\uNombre hexadécimal sur 4 chiffres, correspond aux caractères unicodes"\u0040"@
\STout caractère hormis un espace, correspond à [^\t\n\f\r ]"\S"., à, -, a, ?, ;, y, :, «...
\wUn caractère alphanumérique sans diacritiques, correspond à [0-9A-Za-z_]"\w"a, y, 2, 1, s, h, 4, 3...
\WTout caractère hormis un caractère alphanumérique, correspond à [^0-9A-Za-z_]"\W"., -, ?, ;, :, «...
:alnum:Un caractère alphanumérique sans diacritiques, correspond à [0-9A-Za-z]"[[:alnum:]]"a, y, 2, 1, s, h...
:alpha:Un caractère alphabétique sans diacritiques, correspond à [A-Za-z]"[[:alpha:]]"a, y, s, h, i, t...
:digit:Un caractère numérique, correspond à [0-9]"[[:digit:]]"0, 1, 2, 3, 4, 5, 6, 7, 8, 9
:lower:Un caractère alphabétique en minuscules sans diacritiques, correspond à [a-z]"[[:lower:]]"a, y, s, h, i, t...
:upper:Un caractère alphabétique en majuscules sans diacritiques, correspond à [A-Z]"[[:upper:]]"m, a, i, p, b, c...
:word:Un caractère alphanumérique ou un tiret bas, correspond à [0-9A-Za-z_]"[[:word:]]"a, y, 2, 1, s, h, 4, 3...
:xdigit:Un nombre hexadécimal, correspond à [0-9A-Fa-f]"[[:xdigit:]]"a, 2, 1, 3, 4, 6 ,5...

Le moteur de recherche de Frantext (baptisé Allegro) est également capable d'exploiter des classes de caractères correspondant à des éléments invisibles, bien que ceux-ci ne puissent pas être exploités dans l'interface en ligne de Frantext du fait de la segmentation des mots.

ClasseDescription
\tTabulation horizontale
\rRetour chariot
\nSaut de ligne
\fSaut de page
\sUn caractère d'espace, correspond à [\t\n\f\r ]
:blank:Un caractère de tabulation, correspond à [\t ]
:space:Un caractère d'espacement, correspond à [\t\n\f\r ]
Modifié par Gilles Toubiana le 2019/07/05 09:17
Frantext - ATILF (CNRS/UL) - 2018

Logo CNRS   Logo ATILF   Logo Université de Lorraine