Regex Tester
Test regular expressions
Test regular expressions S'exécute localement dans votre navigateur
About the
Le testeur Regex exécute une expression régulière JavaScript sur votre propre exemple de texte et met en évidence chaque correspondance au fur et à mesure que vous tapez, afin que vous puissiez observer un modèle réussir ou échouer au lieu de deviner. À côté des surlignages, il répertorie chaque correspondance avec sa position de départ et ses groupes de capture, qui est la partie qui vous indique réellement si le groupe 2 est la valeur souhaitée ou une chaîne vide. Trois erreurs sont à l'origine de la plupart des expressions rationnelles brisées, et toutes les trois sont visibles ici : un quantificateur gourmand avalant tranquillement plus de texte que prévu, un point non échappé correspondant à n'importe quoi et un indicateur global manquant qui arrête la recherche après le premier accès.
Where people use the
- Débogage d'un modèle d'analyse de journal sur une poignée de lignes de journal réelles.
- Élaborer une règle de téléphone ou de code postal avant de la connecter à un formulaire.
- Extraire des numéros de commande ou des identifiants à partir d’un bloc de texte collé.
- Apprendre comment les quantificateurs se comportent en changeant un caractère et en regardant les faits saillants bouger.
How to use the
- 1
Collez le texte que vous souhaitez tester
Utilisez un échantillon réel plutôt qu’un échantillon inventé. Les cas limites dans vos données réelles sont ce qui brise le modèle, alors incluez une ligne qui ne doit pas non plus correspondre.
- 2
Écrivez le modèle
Saisissez l'expression sans les barres obliques environnantes, par exemple [a-z]+ plutôt que /[a-z]+/. Les drapeaux sont des bascules distinctes.
- 3
Activer ou désactiver les drapeaux
g trouve chaque correspondance au lieu de s'arrêter à la première, i ignore la casse, m fait fonctionner les ancres par ligne, s laisse un point s'étendre sur les nouvelles lignes, u active le mode Unicode complet et y ancre les correspondances à lastIndex.
- 4
Lire le tableau des matchs
Chaque résultat affiche le texte correspondant, son décalage de caractères et chaque groupe de capture. Un groupe vide inattendu signifie généralement qu'un quantificateur facultatif ne correspond à rien.
- 5
Copiez le motif fini
Lorsque les surbrillances semblent correctes, copiez l'expression et collez-la dans votre code, en n'oubliant pas de porter également les drapeaux.
Conseils et bonnes pratiques
- Testez une règle par modèle. Une expression régulière effectuant trois tâches est illisible et impossible à déboguer.
- Incluez une ligne qui ne doit pas correspondre et confirmez qu'elle ne reste pas mise en surbrillance.
- Préférez les groupes nommés tels que l'année, le mois, le jour aux groupes numérotés, afin que le modèle ait toujours un sens lorsque vous y reviendrez le mois prochain.
Questions fréquemment posées
Quelle saveur d'expression régulière cela utilise-t-il ?
JavaScript, via le moteur RegExp propre au navigateur. La syntaxe est proche du module PCRE et re de Python, mais pas identique. Les groupes nommés, les propriétés lookahead, lookbehind et Unicode échappent à tout travail dans les navigateurs actuels.
Pourquoi mon modèle correspond-il à beaucoup plus de texte que prévu ?
Parce que les quantificateurs sont gourmands par défaut. Quelque chose comme .* ou [0-9]+ consommera autant que possible tout en permettant au reste du modèle de correspondre. Ajoutez un point d'interrogation pour le rendre paresseux, alors .* ? ou [0-9]+ ? s'arrête à la première occasion.
Pourquoi est-ce que je n’obtiens qu’un seul résultat ?
Le drapeau mondial est éteint. Sans g, le moteur renvoie la première allumette et s'arrête. Activez g pour collecter chaque correspondance dans l'entrée.
Pourquoi mon ancre ne fonctionne-t-elle pas sur la deuxième ligne ?
Par défaut, les ancres caret et dollar font référence au début et à la fin de la chaîne entière, et non à chaque ligne. Activez l'indicateur m pour les rendre conscients de la ligne.
Mes données de test sont-elles envoyées quelque part ?
Non. La correspondance s'effectue dans votre navigateur avec l'objet RegExp intégré. Rien n'est téléchargé, c'est pourquoi vous pouvez coller en toute sécurité de vraies lignes de journal ou des fragments de configuration.
Puis-je l'utiliser pour valider une saisie sur un formulaire ?
Vous pouvez développer le pattern ici, mais toujours valider à nouveau sur le serveur. L'expression régulière côté client est une commodité pour l'utilisateur, jamais un contrôle de sécurité, car elle peut être entièrement ignorée.