Testeur de regex : tester des expressions régulières en ligne
Avec le testeur de regex, tu peux tester des expressions régulières en ligne à l’aide du moteur JavaScript de ton navigateur. Les correspondances sont mises en évidence et listées avec leur position et leurs groupes de capture. Par exemple, \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b trouve 2 adresses e-mail dans un texte de contacts, avec leur nom et leur domaine. Ton motif et ton texte restent dans ton navigateur.
Créé par Jakub Martyniak
Tu déploies ce modèle ? Exécute ton application sur un VPS avec un accès root complet.
Saisie
Résultat
Saisis un motif à gauche pour afficher les résultats.
Exemple de résultat
Voici un résultat dans le testeur Regex
Tu saisis un motif et un texte, et l’outil répertorie chaque correspondance avec sa position et ses groupes de capture. En mode remplacement, il affiche le texte modifié. L’exemple ci-dessous utilise des adresses fictives ; les correspondances dépendent de ton motif et de ton texte.
Exemple · Indicateur g (toutes les occurrences)
2 résultatsSaisie
- Motif
- \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b
- Le groupe 1 capture la partie avant le @, le groupe 2 le domaine.
- Texte de test
- info@example.com, support@example.org, no-at.example.net
Sortie
- Résultat 1
- info@example.com
- Index 0 · Groupe 1 : info · Groupe 2 : example.com
- Résultat 2
- support@example.org
- Index 18 · Groupe 1 : support · Groupe 2 : example.org
- Remplacer par $1 [at] $2
- info [at] example.com, support [at] example.org, no-at.example.net
- L’adresse sans @ n’est pas reconnue et reste inchangée.
Pourquoi cet outil
Plus qu’un simple test de correspondance
Aperçu des principales fonctionnalités du testeur de regex.
Correspondances mises en évidence et comptées
Après une courte pause dans la saisie, l’outil compte toutes les correspondances et les met en évidence dans le résultat. S’il y en a beaucoup, il met en évidence les 1000 premières.
Suivi des groupes de capture
Chaque correspondance apparaît dans une liste avec sa position, suivie de ses groupes de capture numérotés et nommés.
Flags g, i, m, s et u
Active ou désactive les cinq flags à l’aide des cases à cocher : ils ont la même signification que dans le code JavaScript. g est activé par défaut.
Mode de remplacement
Remplace les correspondances avec String.prototype.replace() et $1, $2 pour les groupes de capture. Copie le résultat en un clic.
Protection contre le backtracking catastrophique
L’analyse s’exécute dans un Web Worker et s’interrompt après 1 seconde pour éviter qu’un motif comme (a+)+ ne bloque l’onglet.
Fonctionne uniquement dans le navigateur
Le motif et le texte de test sont traités uniquement côté client : rien n’est envoyé à un serveur.
Guide
Comment tester des expressions régulières en ligne
Du motif au résultat copié : comment utiliser le testeur de regex.
Étape 1
Choisir un mode
Sélectionne le mode « Rechercher des correspondances » ci-dessus pour vérifier les correspondances, ou « Remplacer » pour remplacer du texte.
Étape 2
Saisir un motif
Saisis ton expression régulière sans barres obliques dans le champ « Motif », ou clique sur « Charger un exemple » pour charger un motif d’adresse e-mail et un texte d’exemple.
Étape 3
Définir les flags
Active ou désactive les flags g, i, m, s et u à l’aide des cases à cocher. g est activé par défaut. Les flags actifs apparaissent après le motif, par exemple /g.
Étape 4
Insérer un texte de test
Colle ton texte dans le champ « Texte à tester ». Après une courte pause dans la saisie, les correspondances sont mises en évidence dans le résultat et comptées au-dessus.
Étape 5
Vérifier et copier les correspondances
La liste affiche chaque correspondance avec sa position et ses groupes de capture. Le bouton de copie te permet de copier toutes les correspondances, une par ligne.
Étape 6
Remplacer et copier le résultat
En mode « Remplacer », saisis le nouveau texte dans le champ « Remplacer par », avec $1, $2 pour les groupes de capture, puis copie le résultat à l’aide du bouton de copie.
Aide-mémoire
Aide-mémoire regex : les éléments essentiels
Une expression régulière (regex) est un motif de recherche dans du texte. Elle te permet de trouver, vérifier, extraire ou remplacer des chaînes comme des adresses e-mail, des dates ou des entrées de journal. Tu peux essayer directement ci-dessus ces éléments de la syntaxe JavaScript dans le testeur de regex.
| Token | Signification |
|---|---|
| . | N’importe quel caractère sauf un saut de ligne ; avec le flag s, les sauts de ligne aussi |
| \d | Un chiffre de 0 à 9 |
| \w | Caractère de mot : uniquement A–Z, a–z, 0–9 et _, donc pas de lettres comme ä, é ou ñ |
| \s | Caractère d’espacement, comme une espace, une tabulation ou un saut de ligne |
| \p{L} | N’importe quelle lettre, y compris accentuée, uniquement avec le flag u |
| \b | Limite de mot, par exemple \bRegex\b pour trouver exactement ce mot |
| ^ $ | Début et fin du texte, ou de chaque ligne avec le flag m |
| [abc] | Un des caractères a, b ou c |
| [^abc] | N’importe quel caractère sauf a, b et c |
| a|b | a ou b |
| * + ? | Zéro ou plusieurs, une ou plusieurs, zéro ou une occurrence |
| {2,5} | De deux à cinq répétitions |
| .*? | Un ? ajouté rend le quantificateur non gourmand (lazy) : il correspond au moins de caractères possible |
| ( … ) | Groupe de capture, affiché comme groupe 1, 2, etc. dans le testeur de regex |
| (?<name> … ) | Groupe de capture nommé, également affiché sous son nom dans le testeur de regex |
| (?: … ) | Groupe non capturant, par exemple pour les alternatives ou les quantificateurs |
| (?= … ) (?! … ) | Lookahead : uniquement si ce qui suit correspond ou ne correspond pas à … |
| \. | Un antislash devant un caractère spécial permet de le traiter littéralement, par exemple \. pour un point |
Découvrir plus
Autres outils
Comparer des textes en ligne (Diff Checker)
Compare en ligne deux textes, fichiers de configuration ou versions de code, repère les différences ligne par ligne et mot par mot, puis copie-les au format Unified Diff. Tout fonctionne dans ton navigateur.
Créé par Dimitri Heissler
Formateur JSON
Formate, minifie et valide du JSON avec coloration syntaxique, affichage des erreurs et téléchargement, entièrement dans ton navigateur.
Créé par Jakub Martyniak
Validateur YAML
Vérifie la syntaxe YAML et formate-la de manière normalisée ou convertis-la directement en JSON. Prend en charge plusieurs documents séparés par `---` (par ex. des manifestes Kubernetes), avec des erreurs indiquant précisément la ligne et la colonne. Fonctionne entièrement dans le navigateur.
Créé par Jakub Martyniak
Générateur Crontab
Crée des expressions Cron à l’aide d’un formulaire, avec des explications en allemand et un aperçu des prochaines exécutions, entièrement dans le navigateur.
Créé par Jakub Martyniak
Encodeur et décodeur d’URL
Encode et décode des URL et du texte en ligne : comparaison de encodeURIComponent, encodeURI et du format des formulaires, avec tableau des paramètres de requête et générateur de liens UTM. Fonctionne entièrement dans le navigateur.
Créé par Dimitri Heissler
Générateur .htaccess et générateur htpasswd
Crée des fichiers Apache .htaccess et .htpasswd en ligne : redirections 301, HTTPS, protection par mot de passe avec bcrypt, règles WordPress, pages d’erreur, mise en cache, GZIP et protection contre le hotlinking. Fonctionne entièrement dans le navigateur.
Créé par Dimitri Heissler
FAQ
Questions fréquentes sur le testeur de regex
Des réponses concises sur les expressions régulières et cet outil.
Une liste de toutes les correspondances avec leur position et leurs groupes de capture. Le motif \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b trouve 2 correspondances dans le texte « info@example.com, support@example.org, no-at.example.net » : info@example.com à partir de l’indice 0 et support@example.org à partir de l’indice 18, avec le nom et le domaine dans les groupes 1 et 2. En mode remplacement, $1 [at] $2 donne « info [at] example.com, support [at] example.org, no-at.example.net ».
Oui. Le testeur de regex est gratuit et ne nécessite aucun compte : ouvre la page, saisis un motif et un texte à tester, puis vérifie les correspondances.
Non. L’analyse s’exécute dans ton navigateur, dans un Web Worker qui utilise son propre moteur RegExp. Rien n’est envoyé ni enregistré dans des journaux. C’est important, car les textes à tester contiennent souvent de vraies lignes de journal ou des adresses e-mail.
Le moteur JavaScript natif (ECMAScript) de ton navigateur, avec la même syntaxe regex qu’en JavaScript, TypeScript et Node.js. PCRE (PHP, Perl) et le module re de Python diffèrent sur certains points : \K n’existe pas en JavaScript, et les groupes nommés s’écrivent (?<name>…) plutôt que (?P<name>…).
g (global) renvoie toutes les correspondances et est activé par défaut. Sans g, l’outil se comporte comme RegExp.exec() et renvoie au maximum une correspondance. i ignore la casse, m permet à ^ et $ de correspondre au début et à la fin de chaque ligne, s permet au point de correspondre aussi aux sauts de ligne, et u active le mode Unicode, nécessaire par exemple pour \p{L}.
Passe en mode « Remplacer » et saisis le nouveau texte dans le champ « Remplacer par ». Utilise $1, $2, etc. pour insérer des groupes de capture et $<name> pour les groupes nommés. L’outil utilise String.prototype.replace() : sans le flag g, seule la première correspondance est remplacée. Copie le résultat à l’aide du bouton de copie.
Oui. Les groupes de capture figurent sous chaque correspondance : les groupes numérotés sous 1, 2, etc., et les groupes nommés comme (?<jahr>\d{4}) également sous leur nom. Si un groupe n’a rien capturé, « (aucune correspondance) » s’affiche.
Si le motif est invalide, par exemple si une parenthèse n’est pas fermée, l’outil affiche le message d’erreur du moteur du navigateur. Si l’analyse dure plus de 1 seconde, elle est interrompue : le motif est alors généralement sujet au backtracking catastrophique, par exemple à cause de quantificateurs imbriqués comme (a+)+. Simplifie le motif ou raccourcis le texte à tester.
Le nombre de correspondances est toujours exact. Seules les 1000 premières sont mises en évidence et les 200 premières sont listées, chacune avec sa position et ses groupes de capture. S’il y en a plus de 200, un message au-dessus du texte mis en évidence te l’indique.
D’autres questions ?
Contacter le supportTon application a besoin d’un serveur fiable
Un VPS ZAP-Hosting met ton application ou ton projet en ligne de manière fiable.
Sans configuration. Sans risque. En ligne en quelques secondes.
Tu cherches d’autres outils ? Voir tous les outils de développement
