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érateur | Description | Exemple de recherche avancée | Exemple 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.
Quantificateur | Description | Exemple de recherche avancée | Exemple 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.
Classe | Description | Exemple de recherche avancée | Exemple de résultats séparés par des virgules |
---|---|---|---|
\d | Un chiffre, correspond à [0-9] | "\d" | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
\D | Tout caractère hormis un chiffre, correspond à [^0-9] | "\D" | ., à, -, a, ?, ;, y, :, «... |
\x | Nombre hexadécimal sur 2 chiffres | "\x40" | @ |
\u | Nombre hexadécimal sur 4 chiffres, correspond aux caractères unicodes | "\u0040" | @ |
\S | Tout caractère hormis un espace, correspond à [^\t\n\f\r ] | "\S" | ., à, -, a, ?, ;, y, :, «... |
\w | Un caractère alphanumérique sans diacritiques, correspond à [0-9A-Za-z_] | "\w" | a, y, 2, 1, s, h, 4, 3... |
\W | Tout 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... |
Classe | Description |
---|---|
\t | Tabulation horizontale |
\r | Retour chariot |
\n | Saut de ligne |
\f | Saut de page |
\s | Un 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 ] |