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 |
|---|---|
| Ancrages | |
| ^ | (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) Désigne 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 | |
| [...] | Désigne n'importe quel caractère parmi 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 aux chiffres 1, 2 ou 3 [a-f] correspond à n'importe quelle lettre de a à f Remarques : Les expressions régulières dans les règles de conformité du contenu sont sensibles à la casse. |
| [^...] | Désigne tout caractère ne figurant pas dans la liste de caractères indiquée. Par exemple : [^af]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:] | Désigne 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:] | Désigne 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:] | Désigne des chiffres : 0-9 Remarque : Cette classe de caractères doit être entourée d'une autre chaîne entre crochets lorsque vous l'utilisez dans une expression régulière. Par exemple : [[:digit:]]. |
| [:graph:] | Désigne uniquement les caractères visibles, à savoir tous les caractères à l'exception des espaces, des caractères 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:] | Désigne tout signe de ponctuation ou symbole : ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } 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 : [[:punct:]]. |
| [:print:] | Désigne les caractères visibles et les espaces. 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:] | Désigne 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:] | Désigne 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'un autre ensemble de crochets lorsqu'elle est utilisée dans une expression régulière. Par exemple : [[:word:]]. |
| Raccourcis pour les classes de caractères | |
| \w | Désigne 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 | Désigne 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 : portefeuillestips correspond à l'expression portefeuille boursier Équivalent de [:space:] |
| \S | Désigne tout caractère qui n'est pas un espace. Équivalent de [^[:space:]] |
| \d | Désigne tout chiffre compris entre 0 et 9. Équivalent de [:digit:] |
| \D | Désigne 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 ces lettres apparaissent deux fois de suite exactement. Ainsi, l'expression peut établir une correspondance avec ab et ac , 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 : [ac]{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 figurer zéro ou une fois. É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 ? indique que la lettre u est facultative. |