Aller au contenu
Tout en local

Expression régulière depuis exemples

Convertissez des exemples de texte en une expression régulière et voyez quels exemples correspondent.

Entrée
Exemples que le motif NE DOIT PAS correspondre
Sortie

Expression régulière depuis exemples

Collez quelques exemples de texte que le motif doit correspondre —un par ligne— et cet outil déduit une expression régulière qui capture la forme qu'ils partagent. Sous le motif généré, tous les exemples sont énumérés avec une coche, afin que vous puissiez voir d'un coup d'œil si le résultat couvre vraiment ce que vous avez collé.

Le niveau de généralisation contrôle le caractère littéral du résultat. « Caractères exacts » maintient chaque caractère tel quel et combine uniquement les exemples de formes différentes par alternance. « Classes de caractères » remplace les chiffres, les lettres et les espaces par \d, \p{Lu}/\p{Ll} et \s, tout en conservant les décomptes de répétition exacts de vos exemples. « Quantificateurs flexibles » va plus loin et transforme ces séquences en correspondances un-ou-plus, ce qui généralise mieux mais correspond également à plus que vos exemples. L'ancrage ajoute ^ et $ pour que la chaîne entière doive correspondre plutôt que simplement une sous-chaîne, la sensibilité à la casse contrôle si la casse des lettres compte, et les groupes nommés enveloppent les parties variables du motif pour que vous puissiez les extraire par nom ultérieurement. L'option de dialecte ajuste la manière dont les groupes nommés sont écrits pour JavaScript, PCRE ou Python, car les trois ne s'accordent pas sur cette syntaxe.

Ajoutez des textes que le motif NE DOIT PAS correspondre dans le deuxième champ, et l'outil vérifie le motif généré par rapport à eux également —tout contre-exemple qu'il correspond toujours est marqué, ce qui est le moyen le plus rapide de détecter un motif trop large. Activez l'explication pour obtenir le motif divisé en ses pièces individuelles avec une description en langage clair de ce que chacun fait.

Tout s'exécute localement dans votre navigateur : les exemples que vous collez, les contre-exemples et le motif généré ne quittent jamais votre appareil. Copiez le résultat, téléchargez-le en tant que fichier .txt, ou renvoyez le résultat dans l'entrée pour l'affiner contre d'autres exemples.

FAQ

L'expression régulière générée correspond-elle toujours à tous les exemples que j'ai collés?
Oui —le motif est construit directement à partir de vos exemples, il est donc conçu pour correspondre à tous sous le niveau de rigueur que vous avez choisi. Si vos exemples ont des formes véritablement différentes, l'outil revient à correspondre à l'une des formes distinctes.
Qu'est-ce qui change exactement avec « Classes de caractères »?
Il remplace les séquences de chiffres, lettres et espaces par leur classe regex (\d, \p{Lu}, \p{Ll}, \s) au lieu des caractères littéraux, tout en conservant la longueur exacte vue dans vos exemples —alors « AB12 » devient \p{Lu}{2}\d{2}, pas un littéral « AB12 ».
Pourquoi le motif a-t-il également correspondú à l'un de mes contre-exemples?
Une correspondance négative signifie généralement que la généralisation est plus large que votre intention —essayez un niveau plus strict, activez l'ancrage, ou ajoutez un contre-exemple plus spécifique pour que la ligne marquée montre exactement ce qui a échappé.
Le motif fonctionnera-t-il exactement de la même manière en Python ou PCRE?
Les classes de caractères et les quantificateurs sont partagés entre les dialectes, mais la syntaxe des groupes nommés diffère —l'option de dialecte ajuste uniquement la façon dont ces groupes sont affichés (JavaScript utilise (?<name>…), PCRE et Python utilisent traditionnellement (?P<name>…)); testez toujours le résultat par rapport à votre moteur réel.
Les chaînes d'exemples sont-elles chargées quelque part?
Non. Le motif est généré entièrement dans votre navigateur —vos exemples et l'expression régulière générée ne quittent jamais votre appareil.