Aide-mémoire regex
Choisissez une variante de regex
Commencez par le moteur que vous utilisez. La référence masquera la syntaxe qui ne s’applique pas à ce choix.
Utilisez cette référence interactive pour comparer la syntaxe courante des expressions régulières avant de la coller dans du code. Choisissez JavaScript, PCRE2/PHP, Python re, .NET ou la vue de tous les moteurs, puis un sujet et recherchez les entrées affichées. Elle indique la syntaxe propre à une famille : un jeton peut être compilé par un moteur, puis être refusé ou avoir un autre sens dans un autre. La recherche et la copie se font dans le navigateur, et la page n’exécute aucun motif sur votre texte.
Utiliser l’aide-mémoire regex
-
1
Choisir un moteur
Commencez avec JavaScript, PCRE2/PHP, Python re, .NET ou comparez-les tous. La vue ciblée omet les entrées qui ne concernent pas le moteur choisi.
-
2
Choisir un sujet
Ouvrez les ancres, classes de caractères, quantificateurs, groupes, assertions, formes de motifs courantes ou drapeaux et options.
-
3
Rechercher et copier localement
Recherchez les jetons et descriptions dans la page, puis sélectionnez un jeton à copier. Le texte recherché n’est ni envoyé au serveur ni ajouté à l’URL.
-
4
Vérifier dans le vrai environnement
Utilisez le moteur, les drapeaux et l’API du projet pour compiler et tester l’expression finale. Cette référence explique la syntaxe, elle ne valide pas des données de production.
La compatibilité compte
Les expressions régulières ne constituent pas un langage universel unique. Cette référence sépare les syntaxes qui se ressemblent mais ne se transportent pas proprement entre moteurs.
| Fonction | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| Début absolu | Pas de \A |
\A |
\A |
\A |
| Fin absolue | Pas de \z |
\z |
\Z |
\z |
Propriété Unicode \p{L} |
Mode u ou v |
Pris en charge | Pas dans le re intégré |
Pris en charge |
| Capture nommée | (?<name>...) |
(?<name>...) ou (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| Référence arrière nommée | \k<name> |
\k<name> ou (?P=name) |
(?P=name) |
\k<name> |
| Correspondance globale | Drapeau g et API adaptée |
API répétée telle que preg_match_all |
API répétée telle que finditer |
API répétée telle que Matches |
\d et \w demandent une attention particulière. En JavaScript, \d reste les chiffres ASCII 0-9, et \w reste essentiellement des caractères de mot ASCII même avec u. D’autres moteurs peuvent appliquer des règles Unicode selon leur mode et leur configuration. Si le comportement Unicode compte, écrivez et testez la propriété ou la classe exacte voulue.
Ancres et frontières
| Jeton | Ce qu’il exprime | Note de portabilité |
|---|---|---|
^ |
Début de l’entrée ou d’une ligne en mode multiligne | Disponible dans les quatre familles. |
$ |
Fin de l’entrée ou d’une ligne en mode multiligne | Disponible dans les quatre ; les détails de nouvelle ligne finale diffèrent. |
\b |
Frontière de mot | La définition du caractère de mot dépend du moteur et du mode. |
\A |
Début absolu du texte | PCRE2, Python et .NET ; pas JavaScript. |
\z |
Fin absolue du texte | PCRE2 et .NET ; Python utilise \Z. |
\Z |
Fin du texte en Python | PCRE2 et .NET peuvent aussi correspondre avant un saut de ligne final ; utilisez alors \z pour la fin absolue. |
Groupes et assertions
| Jeton | Signification | Limite importante |
|---|---|---|
(abc) |
Groupe capturant | Disponible dans les quatre familles. |
(?:abc) |
Groupe non capturant | Disponible dans les quatre familles. |
(?<name>abc) |
Groupe nommé | Syntaxe JavaScript, PCRE2 et .NET. |
(?P<name>abc) |
Groupe nommé | Syntaxe Python, aussi acceptée par PCRE2. |
(?=abc) / (?!abc) |
Anticipation positive / négative | Disponible dans les quatre familles. |
(?<=abc) / (?<!abc) |
Regard en arrière positif / négatif | Tous la prennent en charge, mais les longueurs permises diffèrent. |
Le regard en arrière est un piège de portabilité courant. Python re exige une largeur fixe. La prise en charge de JavaScript dépend de l’environnement déployé ; testez le motif exact sur le plus ancien environnement pris en charge plutôt que de vous fier à une ligne de l’aide-mémoire.
Formes de motifs, pas validateurs complets
Les entrées de motifs courants décrivent volontairement des formes. Par exemple, ^\d{4}-\d{2}-\d{2}$ accepte 2026-99-99, et un motif qui ressemble à un e-mail ne peut pas appliquer la norme complète des adresses e-mail. Après un premier contrôle de format, analysez dates, URL et identifiants structurés avec la bonne bibliothèque.
| Forme | Motif d’exemple | Ce que cela ne prouve pas |
|---|---|---|
| Décimal signé | ^-?\d+(?:\.\d+)?$ |
Marques décimales locales, groupement, plage ou précision. |
| Texte de forme e-mail | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
Une adresse e-mail distribuable ou conforme à la norme. |
| Texte de forme URL HTTP(S) | ^https?://\S+$ |
Une URL sûre, analysable ou accessible. |
| Forme de date ISO | ^\d{4}-\d{2}-\d{2}$ |
Une vraie date du calendrier. |
| Caractères de slug ASCII | ^[A-Za-z0-9_-]+$ |
Les règles de casse, séparateur ou mots réservés de votre application. |
Drapeaux et options
Ne copiez pas un drapeau sans vérifier l’API hôte. JavaScript écrit /pattern/g, Python passe re.I ou re.X, .NET peut utiliser RegexOptions, et PCRE2/PHP utilise couramment des délimiteurs et modificateurs finaux. g est un drapeau JavaScript de correspondance globale, pas un modificateur PCRE2 ; les correspondances répétées PCRE2 sont en général contrôlées par l’API PHP. Le mode étendu (x) est disponible dans PCRE2, Python et .NET, mais pas comme drapeau JavaScript.
Questions fréquentes
Non. C’est une référence de syntaxe avec recherche et copie locales dans le navigateur. Utilisez un testeur regex et l’environnement de votre application pour compiler les motifs et essayer des données représentatives.
Des jetons familiers ne sont pas toujours portables. Le re intégré de Python utilise par exemple (?P<name>…) pour les groupes nommés, JavaScript utilise (?<name>…), et JavaScript ne prend pas en charge les ancres absolues \A et \z.
Non. En JavaScript, \d est formé de chiffres ASCII et \w de caractères de mot essentiellement ASCII, même avec le drapeau u. Les autres moteurs ont des modes et options Unicode différents : testez le comportement requis par vos données.
Considérez-les seulement comme de rapides contrôles de forme. Ils ne prouvent ni qu’une adresse e-mail est distribuable, ni qu’une URL est sûre ou accessible, ni qu’une date existe dans le calendrier. Pour les règles de production, utilisez un analyseur ou validateur conçu pour cela.
Outils similaires
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Générateur de lettres aléatoires
Générez des lettres A-Z aléatoires. Choisissez le nombre, les majuscules, les minuscules ou le mélange, puis utilisez le résultat pour des jeux ou la classe.
Convertisseur Base64 en hexadécimal
Convertissez une chaîne Base64 standard en ses octets sous-jacents, écrits en hexadécimal majuscule continu. Décodage strict, idéal pour les jetons, les clés et les signatures JWT.
Générateur de palettes de couleurs aléatoires
Générez des palettes aléatoires de 2 à 15 couleurs, choisissez un style vif, pastel, sourd ou sombre, puis copiez les codes HEX ou les variables CSS.
Générateur d’accordéon CSS
Créez un accordéon de trois sections avec details et summary. Personnalisez textes, couleurs, espacements, icône et ouverture, puis copiez ou téléchargez le code.