Référence sur la syntaxe et les métacaractères Core Regex

Les expressions régulières (regex) sont des descriptions de modèles formels utilisés par les moteurs de recherche, les compilateurs et les applications Web pour valider, extraire et remplacer des données de chaîne.
| Métacaractère | Signification | Pratique Exemple | Correspondances |
|---|---|---|---|
^ | Début de chaîne / line | ^https | Chaînes commençant par "https" |
$ | Fin de chaîne / line | \.png$ | Chaînes se terminant par ".png" |
. | Tout caractère unique (sauf nouvelle ligne) | c.t | "chat", "lit", "c9t" |
\d | N'importe quel chiffre (équivalent à [0-9]) | \d{4} | "2026" |
\w | Mot caractère (alphanumérique + _) | \w+ | "utilisateur _123" |
\s | Tout espaces (espace, tabulation, nouvelle ligne) | \s+ | " " |
+ | Un ou plusieurs occurrences | a+ | "a", "aaa" |
* | Zéro ou plus occurrences | a* | "", "a", "aaa" |
? | Zéro ou une occurrence (facultatif) | https? | "http", "https" |
{n,m} | Entre n et m répétitions | \d{2,4} | "99", "1999" |
Modèles Regex testés par copier-coller pour les applications Web
1. Validation de l'adresse e-mail (RFC 5322 simplifiée)

Valide les e-mails modernes standards avec des extensions de domaine valides :
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$
2. Validation solide du mot de passe
Nécessite plus de 8 caractères, au moins 1 lettre majuscule, 1 lettre minuscule, 1 chiffre et 1 symbole spécial :
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
3. Codes de couleur hexadécimaux
Correspond aux codes hexadécimaux à 3, 6 et 8 chiffres (avec canal alpha) :
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
4. Numéros de téléphone internationaux (format E.164)

Correspond aux numéros de téléphone internationaux standards commençant par un signe plus :
^\+[1-9]\d{1,14}$
Sécurité ReDoS : Prévenir les retours en arrière catastrophiques

Le déni de service par expression régulière (ReDoS) est une vulnérabilité de sécurité critique. Lorsqu'une expression régulière utilise des quantificateurs ambigus imbriqués comme :
(a+)+$
L'évaluation d'une entrée ne correspondant pas comme "aaaaaaaaaaaaaaaaaaaaaaaaaa!" amène le moteur d'expression régulière NFA à tester des millions de permutations. Dans un backend Node.js ou Python de production, cela bloque la boucle d'événements et verrouille le CPU à 100 %.
Règles pour empêcher les ReDoS :
- N'imbriquez jamais de quantificateurs gourmands dans d'autres quantificateurs.
- Utilisez des quantificateurs possessifs ou des groupes atomiques si votre environnement d'exécution les prend en charge.
- Testez vos modèles par rapport à des chaînes négatives à l'aide de notre Testeur d’Expressions Régulières (Regex Tester).

Guides complémentaires recommandés
Explorez les didacticiels et utilitaires complémentaires de ce groupe de sujets pour améliorer votre flux de travail numérique :