Comment créer des expressions régulières

Créé par Victoriano Endriga, Modifié le  Ven, 28 Nov. à 1:50 H par  Victoriano Endriga

Pour créer une expression régulière, vous devez utiliser une syntaxe spécifique, c’est-à-dire des caractères spéciaux et des règles de construction. Par exemple, l’expression régulière suivante correspond à n’importe quel numéro de téléphone à 10 chiffres, selon le format nnn-nnn-nnnn :

(\(\d{3}\)-\d{3}-\d{4})

 

Voici quelques modèles regex courants, allant des adresses e-mail aux informations personnelles. Pour vous aider, des exemples simples montrant comment utiliser la syntaxe Regex sont également fournis. 

 

Common Regex Examples

Type

Pattern

Example

 Email

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

 johndoe@example.com
 Phone Number

(\(\d{3}\)-\d{3}-\d{4})

 (562) 988-1688

 (562) 9881688

 Last Name, First Name

([\w\-]+)\s*,\s*(\w+)\s*

 Smith, Paul

 ZIP Code

(\d{5}-\d{4}|\d{5})

 90807 or 92064-3404
 Short Date

(\d?\d/\d?\d/\d\d\d\d)

 12/25/2009

 

You make evaluate your regex using sites like regex101: Créer, tester et déboguer des expressions régulières pour déterminer si elle correspond à vos spécifications 

 

Remarque : Nous recevons toujours le 1er groupe capturant. 

Le premier groupe capturant est expliqué par les exemples suivants : 

 

Email regex 

Pour capturer l’e-mail entier, nous placerons simplement le motif regex entre parenthèses. 

image-20221011-083618.png

 

ID avec valeur 

Voici une illustration du premier groupe capturant en utilisant l’expression régulière.  (?:ID?s*)([a-zA-Z0-9_]*), Nous voulons appliquer la correspondance de l’ID, mais nous voulons simplement la valeur qui suit l’ID : 

En ajoutant  (:?)nous allons ignorer l’ID, en faisant de l’expression initiale  (:?ID)puis incorporer un deuxième groupe que vous pouvez faire correspondre, comme le/la  ([a-zA-Z0-9_]*), qui est indiqué par des parenthèses  () 

ID: 12 - Correspondance 

12 - Valeur qui sera obtenue 

2.png

 

Numéro de téléphone 

Un autre exemple est le numéro de téléphone (888)-111-3332, où nous n’avons besoin que des sept derniers chiffres. Le motif, comme vous pouvez le voir, comprend deux groupes, séparés par des parenthèses. Nous définissons le premier groupe comme non capturant et ignorons sa valeur. 

111-3332 est ce que nous obtiendrons avec ce motif Regex. 

3.png

 

 

Syntaxe Regex 

Syntaxe pour vous aider à créer votre motif regex 

Caractères 

Description

Ancrages  
 ^

 (Accent circonflexe) Correspond au début de la ligne ou de la chaîne de texte que l’expression régulière recherche. 

 Par exemple, une règle de contenu avec l’emplacement Ligne d’objet et l’expression régulière suivante : 

 ^abc

 Capture tout message e-mail dont la ligne d’objet commence par les lettres abc

 $

 (dollar) Correspond à la fin de la ligne ou de la chaîne de texte que l’expression régulière recherche.  

 Par exemple, une règle de contenu avec l’emplacement Ligne d’objet et l’expression régulière suivante : 

 xyz$

 Capture tout message e-mail dont la ligne d’objet se termine par les lettres xyz

Meta characters
 . (dot) Correspond à n’importe quel caractère unique, sauf un saut de ligne 
 |

 (pipe) Indique une alternative — c’est-à-dire un « ou »

Par exemple :

 cat|dog correspond au mot cat ou dog.

 \

 Indique que le caractère suivant est un caractère littéral plutôt qu’un caractère spécial. 

 Par example:

 \. Correspond à un point littéral, plutôt qu’à n’importe quel caractère (caractère « .»). 

Classes de caractères 
 [...]

 Correspond à n’importe quel caractère d’un ensemble de caractères. Séparez le premier et le dernier caractère d’un ensemble par un tiret. 

 For example:

 [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. 

 [^...]

 Matches any characters not in the set of characters For example:

 [^a-f] correspond à n’importe quel caractère qui n’est pas une lettre de a à f 

 Remarque : Les expressions régulières dans les règles de Conformité du contenu sont sensibles à la casse. 

 [:alnum:]

 Correspond aux caractères alphanumériques (lettres et chiffres) : 

 a-z, A-Z, or 0-9

 Remarque Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exempl
exemple: [[:alnum:]]

 [:alpha:]

 Correspond aux caractères alphabétiques (lettres) : 

 a-z or A-Z

 Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple : [[:alpha:]]

 [:digit:]

Correspond aux chiffres : 

 0-9

 Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple :  [[:digit:]]

 [:graph:]

Correspond uniquement aux caractères visibles — c’est-à-dire tous les caractères sauf les espaces, les caractères de contrôle, etc. 

 Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple : [[:graph:]]

 [:punct:]

 Matches punctuation characters and symbols:

 ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }

 Note: Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple : [[:punct:]]

 [:print:]

 Correspond aux caractères visibles et aux espaces. 

 Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple :  [[:print:]]

 [:space:]

 Correspond à 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’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple :  [[:space:]]

 [:word:]

 Correspond à n’importe quel caractère de mot — c’est-à-dire toute lettre, chiffre ou underscore 

 a-z, A-Z, 0-9, or _

Remarque : Cette classe de caractères doit être entourée d’un autre ensemble de crochets lorsque vous l’utilisez dans une expression régulière, par exemple :  [[:word:]]

Classes de caractères abrégées 
 \w

Correspond à n’importe quel caractère de mot — c’est-à-dire une lettre, un chiffre ou un underscore:

 a-z, A-Z, 0-9, or _

 Équivalent à [:word:]

 \W

 Correspond à tout caractère non-mot — c’est-à-dire tout caractère qui n’est ni une lettre, ni un chiffre, ni un underscore.

 Équivalent à  [^[:word:]]

 \s

 Correspond à tout caractère d’espacement. Par exemple, utilisez ce caractère pour spécifier un espace entre des mots dans une phrase : 

 stock\stips correspond à la phrase stock tips

Équivalent à [:space:]

 \S

 Correspond à tout caractère qui n’est pas un espace.

Équivalent à [^[:space:]]

 \d

 Correspond à tout chiffre de 0 à 9.

Équivalent à

[:digit:]

 \D

 Matches any character that’s not a digit from 0-9.

 Equivalent to [^[:digit:]]

Groupe 

 (...) Regroupe des parties d’une expression. Utilisez le regroupement pour appliquer un quantificateur à un groupe ou pour faire correspondre une classe de caractères avant ou après un groupe. 
Quantificateurs 
 {n}

 Fait correspondre l’expression précédente exactement n fois. Par exemple : 

 [a-c]{2} correspond à n’importe quelle lettre de a à c uniquement si deux lettres se suivent. Ainsi, l’expression correspondrait à ab et bc, mais pas à abc ou aabbc

 {n,m}

 

Fait correspondre l’expression précédente au moins n fois et au plus m fois.

Par exemple :

[a-c]{2,4} correspond à n’importe quelle lettre de a à c uniquement si les lettres apparaissent au moins 2 fois et au plus 4 fois de suite. Ainsi, l’expression correspondrait à ab et abc, mais pas à aabbc

 ?

 Indique que le caractère ou l’expression précédente peut correspondre 0 ou 1 fois. Équivalent à la plage {0,1}

Par exemple, l’expression régulière suivante : 

correspond à colour ou color, car le ? rend la lettre u optionnelle. 

 

Liste des références : 

Google, site d’assistance Google, consulté le 12 octobre 2022, <Syntaxe des expressions régulières - Aide Administrateur Google Workspace

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons
La vérification CAPTCHA est requise.

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article