Chapitre 17. Expressions régulières
Précédent |  | Suivant

# Chapitre 17. Expressions régulières

Les expressions régulières (ou regex) utilisées dans les recherches et les règles de segmentation sont celles prises en charge par Java.. Pour avoir accès à des informations spécifiques, consultez la documentation Java Regex . Voir les références supplémentaires et les exemples ci-dessous :

### Note

Ce chapitre est destiné aux utilisateurs confirmés qui éprouvent le besoin de définir leurs propres règles de segmentation et de concevoir des éléments de recherche clé plus complexes et plus puissants.

Tableau 17.1. Expressions régulières - Marqueurs

La construction | ...correspond à ceci
--- | ---
(?i) | Permet des correspondances qui ne respectent pas la casse (par défaut, le modèle respecte la casse).

Tableau 17.2. Expressions régulières - Caractère

La construction | ...correspond à ceci
--- | ---
x | Le caractère x, sauf pour les éléments suivants...
\uhhhh | Le caractère ayant une valeur hexadécimale 0xhhhh
\t | La tabulation (« \u0009 »)
\n | Le caractère passage à la ligne (ajout de ligne) (« \u000A »)
\r | Le caractère retour de chariot (« \u000D »)
\f | Le caractère saut de page (« \u000C »)
\a | Le caractère d'alerte (signal) (« \u0007 »)
\e | Le caractère d'échappement (« \u001B »)
\cx | Le caractère de contrôle correspondant à x
\0n | Le caractère de valeur octale 0n (0 <= n <= 7)
\0nn | Le caractère de valeur octale 0nn (0 <= n <= 7)
\0mnn | Le caractère de valeur octale 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh | Le caractère de valeur hexadécimale 0xhh

Tableau 17.3. Expressions régulières - Citation

La construction | ...correspond à ceci
--- | ---
\ | Rien, mais cite le caractère suivant. C'est nécessaire si vous souhaitez entrer un des métacaractères suivants !$()*+.<>?[\]^{|} de sorte qu'il ne corresponde qu'à lui-même.
\\ | Par exemple, ceci est le caractère d'antislash
\Q | Rien, mais cite tous les caractères jusqu'à \E
\E | Rien, mais finit la citation démarrée par \Q

Tableau 17.4. Expressions régulières - Classes pour les catégories et blocs Unicode

La construction | ...correspond à ceci
--- | ---
\p{InGreek} | Un caractère à l'intérieur du bloc grec ( bloc simple)
\p{Lu} | Une lettre en majuscules (simple category)
\p{Sc} | Un symbole de devise
\P{InGreek} | N'importe quel caractère à l'exception de ceux du bloc grec (négation)
[\p{L}&&[^\p{Lu}]] | N'importe quelle lettre à l'exception d'une lettre majuscule (soustraction)

Tableau 17.5. Expressions régulières - Classes de caractères

La construction | ...correspond à ceci
--- | ---
[abc] | a, b, ou c (classe simple)
[^abc] | N'importe quel caractère à l'exception de a, b, ou c (négation)
[a-zA-Z] | de a à z ou A à Z, inclus (plage)

Tableau 17.6. Expressions régulières - Classes de caractères prédéfinies

La construction | ...correspond à ceci
--- | ---
. | N'importe quel caractère (à l'exception des terminaisons de lignes)
\d | Un chifffre : équivalent à [0-9]
\D | Un caractère qui n'est pas un chiffre : équivalent à [^0-9]
\s | Un caractère d'espacement : espace, tabulation, retour à la ligne ... équivalent à [ \t\n\r\f\x0B]
\S | Un caractère n'étant pas un caractère d'espacement : [^\s]
\w | Un caractère de mot : [a-zA-Z_0-9]
\W | Un caractère qui n'est pas un caractère de mot : [^\w]

Tableau 17.7. Expressions régulières - Spécificateurs de limite

La construction | ...correspond à ceci
--- | ---
^ | Le début d'une ligne
$ | La fin d'une ligne
\b | Extrémité de mot
\B | N'est pas une extrémité de mot

Tableau 17.8. Expressions régulières - Quantificateurs avides

La construction | ...correspond à ceci
--- | ---
X? | X, une seule fois ou pas du tout
X* | X, zéro fois ou plus
X+ | X, une seule fois ou plus

### Note

les quantificateurs avides feront le plus de correspondances possible. Par exemple, a+ correspondra au aaa dans aaabbb

Tableau 17.9. Expressions régulières - quantificateurs réticents (non-avides)

La construction | ...correspond à ceci
--- | ---
X?? | X, une seule fois ou pas du tout
X*? | X, zéro fois ou plus
X+? | X, une seule fois ou plus

### Note

les quantificateurs non-avides effectueront aussi peu de correspondances que possible. Par exemple, a+? correspondra au premier a dans aaabbb

Tableau 17.10. Expressions régulières - Opérateurs logiques

La construction | ...correspond à ceci
--- | ---
XY | X suivit de Y
X|Y | Soit X soit Y
(XY) | XY en tant que groupe unique

## 1. Outils d'expressions régulières et exemples d'utilisation

Un grand nombre d'outils interactifs permettent de développer et de tester les expressions régulières. Généralement, ils suivent le même modèle (voir ci-dessous pour un exemple de Testeur d'Expressions Régulières) : l'expression régulière (l'entrée du haut) analyse le texte de recherche (Zone de texte au milieu), rassemble les correspondances trouvées et les affiche dans la zone de texte de résultat.

Figure 17.1. Testeur d'Expressions Régulières

VoirLe Regex Coach pour les versions Windows, Linux et FreeBSD d'un outil autonome. Cela ressemble beaucoup à l'exemple ci-dessus.

De nombreux cas d'expressions régulières utiles peuvent être trouvés dans OmegaT même (voir Options > Segmentation). Le liste suivante inclut des expressions qui pourront vous être utiles si vous effectuez des recherches dans la mémoire de traduction :

Tableau 17.11. Expressions régulières : exemples d'expressions régulières dans les traductions

Une expression régulière | Trouve les éléments suivants :
--- | ---
(\b\w+\b)\s\1\b | mots doubles
[\.,]\s*[\.,]+ | une virgule ou un point, suivis par des espaces puis par une autre virgule ou un autre point
\. \s+$ | des espaces supplémentaires après le point à la fin de la ligne
\s+a\s+[aeiou] | Anglais : les mots commençant par une voyelle doivent généralement être précédés par un « an » et non un « a »
\s+an\s+[^aeiou] | Anglais : même vérification que ci-dessus mais pour les consonnes (« a », pas « an »)
\s{2,} | plus d'un seul espace
\.[A-Z] | Point, suivit par une majuscule - il est possible qu'il manque un espace entre le point et le début de la nouvelle phrase.
\bis\b | recherche « is », pas « this » ou « isn't », etc.

Précédent |  | Suivant
Chapitre 16. Rechercher et remplacer | Sommaire | Chapitre 18. Dictionnaires