Aide-mémoire regex

Aide-mémoire regex : syntaxe + 30 motifs testés | We.Inc

La syntaxe regex en un seul tableau, plus 30 motifs prêts à l'emploi pour e-mail, URL, téléphone, code postal, mot de passe, dates et plus encore. Chacun est testé en direct sur des exemples valides et invalides que vous pouvez modifier.

Aide-mémoire regex

Une expression régulière est un motif qui sert à reconnaître du texte. \d correspond à un chiffre, \w à un caractère de mot, + signifie un ou plusieurs, ? rend un élément facultatif, et ^ et $ ancrent la correspondance au début et à la fin. Vous trouverez ci-dessous la syntaxe complète et 30 motifs testés, chacun vérifié en direct sur des chaînes qui doivent correspondre et d'autres qui ne doivent pas.

Six symboles qui couvrent la plupart des motifs

Copiez un motif, puis testez votre propre texte dans le champ à côté. Chaque motif de cette page est fourni avec des exemples qui doivent correspondre et d'autres qui ne doivent pas, et la page les exécute dans votre navigateur pour que vous voyiez chaque résultat.

Questions fréquentes

Quelle est la meilleure regex pour les adresses e-mail ?

Une regex pratique est ^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$ : du texte, un @, et un domaine avec au moins un point. Elle détecte les fautes de frappe sans rejeter des adresses inhabituelles mais valides. Aucune regex ne peut dire si une adresse existe vraiment, envoyez donc un e-mail de confirmation.

Comment reconnaître un numéro de téléphone avec une regex ?

Supprimez les espaces, tirets et parenthèses, puis vérifiez le format E.164 : ^\+[1-9]\d{6,14}$. Pour les numéros américains et canadiens saisis avec des séparateurs, utilisez le motif nord-américain de cette page. Pour une vérification complète par pays, une bibliothèque de numéros de téléphone est plus fiable.

Que signifie ^ dans une regex ?

En dehors des crochets, ^ ancre la correspondance au début du texte, ou de chaque ligne avec le flag m. À l'intérieur des crochets, en premier caractère, comme dans [^0-9], il signifie aucun de ces caractères.

Pourquoi ma regex fonctionne-t-elle en JavaScript mais pas en Python ?

Les variantes diffèrent dans les détails : Python écrit les groupes nommés (?P<name>...), ne prend pas en charge \p{L} dans son module re intégré, et n'autorise que les lookbehind de longueur fixe. Consultez le tableau des langages de cette page pour les différences courantes.

Quelle est la différence entre greedy et lazy ?

Les quantificateurs greedy comme * et + prennent autant de texte que possible puis reculent. Ajouter ? les rend lazy, ils prennent alors le moins possible. Sur <b>x</b><b>y</b>, <.+> correspond à tout, tandis que <.+?> correspond seulement à <b>.

Lire un motif de gauche à droite

Erreurs courantes

Référence de la syntaxe regex (variante JavaScript)

Flags JavaScript

Les mêmes idées en JavaScript, Python et PHP

Adresse e-mail (pratique)

Du texte, un @, puis un domaine avec au moins un point. Pas d'espaces.

Aucune regex ne vérifie complètement une adresse e-mail. Envoyez un e-mail de confirmation pour savoir si elle est réelle.

Adresse web (http ou https)

http ou https, un hôte avec au moins un point, un port facultatif, puis n'importe quel chemin, requête ou fragment sans espaces.

En JavaScript, new URL(value) dans un bloc try est la vérification la plus stricte.

Nom de domaine

Des libellés composés de lettres, de chiffres et de tirets internes, séparés par des points, se terminant par un domaine de premier niveau composé uniquement de lettres.

Slug d'URL

Des lettres minuscules et des chiffres en groupes reliés par des tirets simples.

Numéro de téléphone international (E.164)

Un signe plus, un indicatif pays qui ne commence pas par 0, et de 7 à 15 chiffres au total, sans espaces.

Supprimez d'abord les espaces, tirets et parenthèses. Pour une vraie validation par pays, utilisez une bibliothèque de téléphonie.

Numéro de téléphone, États-Unis et Canada

+1 facultatif, un indicatif régional et un central à 3 chiffres qui ne commencent pas par 0 ou 1, puis 4 chiffres, avec les séparateurs courants.

Code ZIP américain

Cinq chiffres, éventuellement suivis d'un tiret et de quatre autres (ZIP+4).

Code postal britannique

Une ou deux lettres, un chiffre, une lettre ou un chiffre facultatif, un espace facultatif, puis un chiffre et deux lettres.

Ne vérifie que la forme. Il accepte certains codes qui n'existent pas.

Code postal canadien

Lettre, chiffre, lettre, espace facultatif, chiffre, lettre, chiffre. Les lettres D, F, I, O, Q et U ne sont jamais utilisées, et W et Z ne viennent jamais en premier.

Couleur HEX

Un # puis 3, 4, 6 ou 8 chiffres hexadécimaux (les formes à 4 et 8 incluent la transparence).

Mot de passe à caractères variés

Au moins 12 caractères, avec une minuscule, une majuscule, un chiffre et un symbole, vérifiés par des lookaheads.

La longueur compte plus que la variété. Beaucoup d'équipes n'exigent désormais qu'une longueur minimale et vérifient les listes de mots de passe compromis.

Nom d'utilisateur

De 3 à 20 caractères, lettres et chiffres ; points et tirets bas autorisés uniquement entre eux, jamais doublés.

Adresse IPv4

Quatre nombres de 0 à 255 séparés par des points, sans zéros en tête.

Date ISO 8601 (YYYY-MM-DD)

Année à quatre chiffres, mois de 01 à 12, jour de 01 à 31.

Il accepte 2026-02-31. Analysez ensuite la date pour rejeter les jours qui n'existent pas.

Heure au format 24 heures (HH:MM)

Heures de 00 à 23, deux-points, minutes de 00 à 59.

Heure au format 12 heures avec am ou pm

Heures de 1 à 12, minutes, puis am ou pm avec points et espace facultatifs.

Nombre entier

Signe moins facultatif, puis 0 ou un nombre sans zéros en tête.

Nombre décimal

Un nombre entier avec un point facultatif et au moins un chiffre après.

Prix avec séparateurs de milliers

Signe dollar facultatif, chiffres avec des groupes de virgules corrects (ou aucun), centimes à deux chiffres facultatifs.

Pourcentage de 0 à 100

Un nombre de 0 à 100 avec décimales facultatives, suivi de %.

Forme d'un numéro de carte (13 à 19 chiffres)

De 13 à 19 chiffres, éventuellement groupés avec des espaces ou des tirets.

Forme uniquement. Utilisez l'algorithme de Luhn et votre prestataire de paiement pour valider une carte.

Version sémantique

MAJOR.MINOR.PATCH sans zéros en tête, avec des parties -prerelease et +build facultatives.

UUID

Des chiffres hexadécimaux 8-4-4-4-12 avec un chiffre de version de 1 à 8 et la variante standard.

Balise HTML simple

Une balise ouvrante, du texte sans autres balises, et la balise fermante correspondante (la référence arrière \1 répète le nom).

N'analysez pas du HTML complet avec une regex. Utilisez DOMParser ou un analyseur HTML.

Vide ou uniquement des espaces

Rien d'autre que des espaces, tabulations ou sauts de ligne. Utile pour rejeter les champs de formulaire vides.

Hashtag

Un # suivi de lettres (dans n'importe quelle écriture), de chiffres ou de tirets bas. Nécessite le flag u pour \p{L}.

Adresse de vidéo YouTube

Les formes courantes watch, embed, shorts et lien court. Le groupe 1 capture l'identifiant de vidéo de 11 caractères.

Nom de fichier image

Un nom de fichier sans caractères interdits dans les chemins, se terminant par une extension d'image courante.

Identifiant de réseau social (@nom)

Un @ et de 1 à 15 lettres, chiffres ou tirets bas, la règle qu'utilise X (anciennement Twitter).

Mot répété

Trouve un mot tapé deux fois de suite, comme 'le le'. Non ancré, il cherche donc à l'intérieur du texte.

(vide)

ne correspond pas

Copier

Doit correspondre

Ne doit pas correspondre

Testez votre propre valeur

Correspond

Aucune correspondance

Testeur rapide

Motif

Flags

Texte

Aucune correspondance.

à {n} :

groupes :

Syntaxe

Flags

{n} motifs testés

Filtrer

e-mail, date, téléphone…

Aucun motif ne correspond à ce filtre.

JavaScript, Python et PHP

Sorti en 2026-10, corrigé en 2026-11, prévu pour 2027-02.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site