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 ] |


