> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Utiliser les expressions régulières avec ABBYY FineReader Engine

> Référence de l’alphabet des expressions régulières d’ABBYY FineReader Engine utilisé dans les dictionnaires basés sur des regex — plages de caractères, répétition, alternance et exemples d’expressions.

Les expressions régulières sont utilisées dans les [dictionnaires basés sur les expressions régulières](/fr/fine-reader/engine/guided-tour/advanced-techniques/working-with-dictionaries) pour définir quels mots sont autorisés dans une langue et lesquels ne le sont pas.

<div id="regular-expression-rules">
  ## Règles des expressions régulières
</div>

L’alphabet des expressions régulières d’ABBYY FineReader Engine est décrit dans le tableau suivant :

| Nom de l’élément                                      | Signe conventionnel d’expression régulière | Exemples d’utilisation et explications                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |     |                                       |
| ----------------------------------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------------------------------------- |
| N’importe quel caractère                              | .                                          | c.t — désigne des mots tels que "cat", "cot"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |     |                                       |
| Caractère appartenant à une plage de caractères       | \[]                                        | \[b-d]ell — désigne des mots tels que "bell", "cell", "dell" <br /> \[ty]ell — désigne les mots "tell" et "yell"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |     |                                       |
| Caractère n’appartenant pas à une plage de caractères | \[^]                                       | \[^y]ell — désigne des mots tels que "dell", "cell", "tell", mais exclut "yell" <br /> \[^n-s]ell — désigne des mots tels que "bell", "cell", mais exclut "nell", "oell", "pell", "qell", "rell" et "sell"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |     |                                       |
| Ou                                                    |                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | c(a | u)t — désigne les mots "cat" et "cut" |
| 0 occurrence ou plus à la suite                       | \*                                         | 10\* — désigne les nombres 1, 10, 100, 1000, etc.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |     |                                       |
| 1 occurrence ou plus à la suite                       | +                                          | 10+ — autorise les nombres 10, 100, 1000, etc., mais exclut 1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |     |                                       |
| Lettre ou chiffre                                     | \[0-9a-zA-Z]                               | \[0-9a-zA-Z] — autorise un seul caractère;<br /> \[0-9a-zA-Z]+ — autorise n’importe quel mot                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |     |                                       |
| Lettre latine majuscule                               | \[A-Z]                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Lettre latine minuscule                               | \[a-z]                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Lettre cyrillique majuscule                           | \[А-Я]                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Lettre cyrillique minuscule                           | \[а-я]                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Chiffre                                               | \[0-9]                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Espace                                                | \[\s]                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Caractère système                                     | @                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |     |                                       |
| Mot du dictionnaire                                   | @(Dictionary)                              | Le paramètre Dictionary définit le chemin d’accès au dictionnaire utilisateur dont les mots doivent être extraits. Exemple de chemin sous Linux : @(/opt/MyDictionary.amd) exemple de chemin sous macOS : "/Users/user/Documents/MyDictionary.amd Sous Windows, les barres obliques inverses du chemin doivent être doublées. Par exemple : @(D:\MyFolder\MyDictionary.amd). <Note> Certains langages de programmation (comme C++) exigent d’échapper les barres obliques inverses dans les littéraux de chaîne. Dans ce cas, vous aurez besoin de deux barres obliques inverses échappées, ce qui donnera une barre oblique inverse quadruplée. L’exemple ci-dessus se présentera ainsi en C++ : <br />`L"@ D:\\\\MyFolder\\\\MyDictionary.amd)"` </Note> |     |                                       |

<Note>
  * Certains caractères utilisés dans les expressions régulières sont « auxiliaires », c’est-à-dire qu’ils sont utilisés à des fins système. Comme vous pouvez le voir dans la liste ci-dessus, ces caractères incluent les crochets, les points, etc. Si
    vous souhaitez saisir un caractère auxiliaire comme un caractère normal, placez une barre oblique inverse () devant lui. Exemple : \[t-v]x+ désigne des mots tels que "tx", "txx", "txxx", etc., "ux", "uxx", etc., mais \[t-v]x+
    désigne des mots tels que "\[t-v]x", "\[t-v]xx", "\[t-v]xxx" etc. - Si vous devez regrouper certains éléments d’une expression régulière, utilisez des parenthèses. Par exemple, (a|b)+|c désigne "c" et toutes les combinaisons comme
    "abbbaaabbb", "ababab", etc. (un mot non vide pouvant contenir n’importe quel nombre de a et de b dans n’importe quel ordre), tandis que a|b+|c désigne "a", "c" et "b", "bb", "bbb", etc.
</Note>

<div id="sample-regular-expressions">
  ## Exemples d’expressions régulières
</div>

**Expression régulière pour les dates**

Le nombre indiquant le jour peut comporter un chiffre (par ex., 1, 2, etc.) ou deux chiffres (par ex., 02, 12), mais il ne peut pas être égal à zéro (00 ou 0). L’expression régulière pour le jour aura alors cette forme : ((|0)\[1-9])|(\[12]\[0-9])|(30)|(31).

L’expression régulière pour le mois aura cette forme : ((|0)\[1-9])|(10)|(11)|(12).

L’expression régulière pour l’année aura cette forme : (((19)|(20))\[0-9]\[0-9])|(\[0-9]\[0-9]).

Il ne reste plus qu’à combiner tous ces éléments et à séparer les nombres par un point (par ex., 1.03.1999). Le point est un caractère auxiliaire ; il faut donc le faire précéder d’une barre oblique inverse (). L’expression régulière pour la date complète aura alors cette forme :

(((|0)\[1-9])|(\[12]\[0-9])|(30)|(31)).(((|0)\[1-9])|(10)|(11)|(12)).((((19)|(20))\[0-9]\[0-9])|(\[0-9]\[0-9]))

**Expression régulière pour les adresses e-mail**

Il est facile de définir un langage permettant de représenter des adresses e-mail. L’expression régulière d’une adresse e-mail peut avoir cette forme :

\[a-zA-Z0-9\_-.]+@\[a-zA-Z0-9.-]+.\[a-zA-Z]+

<div id="using-for-data-capture">
  ## Utilisation pour la capture de données
</div>

Si vous utilisez des expressions régulières dans la reconnaissance au niveau des champs, vous devez généralement reconnaître uniquement les mots qui correspondent exactement à l’expression régulière. Dans ce cas, nous vous recommandons de créer une langue distincte pour la reconnaissance des champs et de définir les propriétés suivantes pour cette langue :

1. Seuls les mots du dictionnaire doivent être autorisés comme résultats de reconnaissance : définissez la propriété [IBaseLanguage::AllowWordsFromDictionaryOnly](/fr/fine-reader/engine/api-reference/language-related-objects/baselanguage#allowwordsfromdictionaryonly) sur TRUE. Cela est nécessaire pour une correspondance exacte.
2. Le jeu de lettres de la langue de reconnaissance ne doit contenir que les caractères inclus dans l’expression régulière : spécifiez la propriété [IBaseLanguage::LetterSet](/fr/fine-reader/engine/api-reference/language-related-objects/baselanguage/letterset-property). Cela est nécessaire, car des caractères de l’alphabet de la langue peuvent être reconnus même s’ils ne correspondent pas à l’expression régulière.
3. Définissez la propriété [IBaseLanguage::IsNaturalLanguage](/fr/fine-reader/engine/api-reference/language-related-objects/baselanguage#isnaturallanguage) sur FALSE.

<div id="windows-samples">
  ## Exemples pour Windows
</div>

<Accordion title="Code C#">
  ```csharp theme={null}
  // Objet ABBYY FineReader Engine global
  FREngine.IEngine engine;
  // Objet LanguageDatabase
  FREngine.ILanguageDatabase languageDatabase = engine.CreateLanguageDatabase();
  // Créez un objet TextLanguage
  FREngine.ITextLanguage textLang = languageDatabase.CreateTextLanguage();
  // Créez un objet BaseLanguage et spécifiez les paramètres
  FREngine.IBaseLanguage baseLang = textLang.BaseLanguages.AddNew();
  baseLang.set_LetterSet(FREngine.BaseLanguageLetterSetEnum.BLLS_Alphabet, "$0123456789,.");
  baseLang.IsNaturalLanguage = false;
  baseLang.AllowWordsFromDictionaryOnly = true;
  // Créez un nouveau dictionnaire basé sur une expression régulière et associez-le à la langue
  FREngine.IDictionaryDescription dictDescr = baseLang.DictionaryDescriptions.AddNew(FREngine.DictionaryTypeEnum.DT_RegularExpression);
  // Définissez l’expression régulière
  dictDescr.GetAsRegExpDictionaryDescription().SetText(@"[$0-9,.]+");
  ```
</Accordion>

<div id="see-also">
  ## Voir aussi
</div>

[Utilisation des dictionnaires](/fr/fine-reader/engine/guided-tour/advanced-techniques/working-with-dictionaries)

[RegExpDictionaryDescription](/fr/fine-reader/engine/api-reference/language-related-objects/regexpdictionarydescription)
