Pour créer une expression régulière, vous devez utiliser une syntaxe particulière, à savoir des caractères spéciaux et des règles de construction. Par exemple, l'expression régulière simple ci-dessous correspond à un numéro de téléphone à 10 chiffres présenté sous la forme nnn-nnn-nnnn :
\d{3}-\d{3}-\d{4}
Le tableau ci-dessous présente certains des caractères spéciaux les plus couramment utilisés dans les expressions régulières. Ces caractères sont répartis selon les catégories suivantes :
| Caractères | Description |
|---|---|
| Ancres | |
| ^ | (accent circonflexe) Établit une correspondance avec les éléments que l'expression régulière recherche au début d'une ligne ou d'une chaîne de texte. Prenons pour exemple une règle de contenu s'appliquant à l'objet du message qui contient l'expression régulière suivante : ^abc Cette règle capture tout e-mail dont l'objet commence par les lettres abc. |
| $ | (dollar) Établit une correspondance avec les éléments que l'expression régulière recherche à la fin d'une ligne ou d'une chaîne de texte. Prenons pour exemple une règle de contenu s'appliquant à l'objet du message qui contient l'expression régulière suivante : xyz$ Cette règle capture tout e-mail dont l'objet se termine par les lettres xyz |
| Métacaractères | |
| . | (point) Établit une correspondance avec n'importe quel caractère unique, à l'exception d'une nouvelle ligne. |
| | | (barre verticale) Indique une alternative, avec la valeur d'un "ou". Par exemple : chat|chien correspond au mot chat ou chien |
| \ | Indique que le caractère qui suit doit être lu littéralement et n'est pas un caractère d'expression régulière. Exemple : \. correspond à un vrai point, et non à n'importe quel caractère unique (métacaractère du point). |
| Classes de caractères | |
| […] | Établit une correspondance avec n'importe quel caractère d'un ensemble de caractères. Séparez le premier et le dernier caractère d'une série par un trait d'union. Par exemple : [123] correspond au chiffre 1, 2 ou 3 [a-f] correspond à n'importe quelle lettre de a à f Remarque : Les expressions régulières dans les règles de conformité du contenu sont sensibles à la casse. |
| [^...] | Établit une correspondance avec tout caractère ne figurant pas dans l'ensemble de caractères. Par exemple : [^a-f]correspond à tout caractère qui n'est pas une lettre de a à f Remarque : Les expressions régulières contenues dans les règles de conformité du contenu sont sensibles à la casse. |
| [:alnum:] | Établit une correspondance avec des caractères alphanumériques (lettres ou chiffres) : a-z, A-Z ou 0-9 Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:alnum:]]. |
| [:alpha:] | Établit une correspondance avec tout caractère alphabétique (lettres) : a-z ou A-Z Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:alpha:]]. |
| [:digit:] | Établit une correspondance avec des chiffres : 0-9 Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:digit:]]. |
| [:graph:] | Établit une correspondance avec des caractères visibles uniquement, c'est-à-dire tout caractère à l'exception d'un espace, d'un caractère de contrôle, etc. Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:graph:]]. |
| [:punct:] | Correspond aux caractères de ponctuation et aux symboles : ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:punct:]]. |
| [:print:] | Établit une correspondance avec tout caractère visible ou espace. Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:print:]]. |
| [:space:] | Établit une correspondance avec tous les caractères d'espacement, y compris les espaces, les tabulations et les sauts de ligne. Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:space:]]. |
| [:word:] | Établit une correspondance avec tout caractère utilisé dans les mots en anglais, à savoir les lettres non accentuées, les chiffres ou le trait de soulignement : a-z, A-Z, 0-9 ou _ Remarque : Cette classe de caractères doit être entourée d'une autre paire de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:word:]]. |
| Raccourcis pour les classes de caractères | |
| \w | Établit une correspondance avec tout caractère utilisé dans les mots en anglais, à savoir les lettres non accentuées, les chiffres ou le trait de soulignement : a-z, A-Z, 0-9 ou _ Équivalent de [:word:] |
| \W | Établit une correspondance avec tout caractère qui n'est pas utilisé dans les mots en anglais, à savoir les caractères autres que les lettres non accentuées, les chiffres ou le trait de soulignement. Équivalent de [^[:word:]] |
| \s | Désigne tout caractère d'espacement. Utilisez ce caractère pour spécifier un espace entre les mots d'une expression. Par exemple : portefeuilleboursier correspond à l'expression portefeuille boursier Équivalent de [:space:] |
| \S | Correspond à tout caractère qui n'est pas un espace. Équivaut à [^[:space:]] |
| \d | Correspond à n'importe quel chiffre de 0 à 9. Équivaut à [:digit:] |
| \D | Établit une correspondance avec tout caractère autre qu'un chiffre entre 0 et 9. Équivalent de [^[:digit:]] |
| Groupe | |
| (...) | Regroupe les parties d'une expression. Utilisez les parenthèses pour appliquer un quantificateur à un groupe ou pour appliquer une classe de caractère avant ou après un groupe. |
| Quantificateurs | |
| {n} | Indique le nombre exact n d'occurrences consécutives de l'expression qui précède. Par exemple : [a-c]{2} correspond à toute lettre de a à c à condition que ces lettres apparaissent deux fois de suite exactement. Ainsi, l'expression peut établir une correspondance avec ab et bc, mais pas abc ni aabbc. |
| {n,m} | Indique un minimum n et un maximum m d'occurrences consécutives de l'expression qui précède. Par exemple : [a-c]{2,4} correspond à n'importe quelle lettre entre a et c à condition que les lettres apparaissent entre deux fois et quatre fois de suite. Ainsi, l'expression peut établir une correspondance avec ab et abc, mais pas aabbc. |
| ? | Indique que le caractère ou l'expression qui le précède peut être présent ou non. Équivalent de la plage {0,1}. Prenons pour exemple l'expression régulière suivante : colou?r Elle peut correspondre à colour, mais aussi à color, car le ? rend la lettre u facultative. |