Choisir la portée de la recherche
finditer liste les correspondances sans chevauchement, search prend la première et fullmatch exige que tout le texte corresponde. Aucun drapeau JavaScript g n’est nécessaire.
Regex et correspondance de motifs
Saisissez un motif et un texte, puis lancez explicitement la recherche, la correspondance totale ou la substitution Python.
Saisissez du texte ou lancez un test.
Le motif et le texte restent dans ce navigateur. Les fichiers Python ne se chargent qu’au premier lancement.
i — Ignorer la cassem — ^ et $ aux limites de lignes — Le point inclut le saut de lignex — Espaces et commentaires dans le motifa — Classes de caractères ASCIIEnvironnement Python : chargé au premier test
Limites : motif 2 000, texte 100 000, remplacement 10 000 unités UTF-16 ; 10 000 résultats, 1 million en sortie et 4 millions dans le rapport. Arrêt après 2 secondes.
Saisissez du texte ou lancez un test.
Une expression peut fonctionner dans un outil JavaScript et échouer dans Python. Ce testeur regex Python exécute CPython re pour vérifier les groupes nommés, les options et les références de remplacement selon le véritable moteur.
Un testeur regex en ligne est plus utile si l’on distingue finditer, search et fullmatch. Pour les expressions régulières Python, les groupes capturés sont repérés en points de code Unicode et la substitution emploie \g<name>, pas $1.
Le testeur regex Python sépare la correspondance entière des groupes numérotés et nommés. Un groupe absent vaut null avec (-1, -1), tandis qu’un groupe ayant capturé une chaîne vide conserve cette valeur vide.
Une formule comme \g<nom> et \g<prenom> est développée par re.subn dans une sortie distincte. Zéro comme limite de substitutions signifie toutes les occurrences; la source reste intacte.
finditer liste les correspondances sans chevauchement, search prend la première et fullmatch exige que tout le texte corresponde. Aucun drapeau JavaScript g n’est nécessaire.
i, m, s, x et a sont les options de Python re. m modifie ^ et $ aux limites des lignes; s permet au point de franchir un saut de ligne. Python se charge au premier lancement manuel.
Les indices commencent à zéro, excluent la fin et comptent les points de code Unicode. Dans A😀B, B commence à l’indice Python 2. Ctrl/Cmd + Entrée relance le test.
Ce testeur regex Python charge Pyodide dans un Worker et affiche la version réelle de Python. Il ne présente pas le RegExp JavaScript comme un moteur Python.
Chaque correspondance contient le groupe 0, les groupes numérotés, leurs noms, valeurs et positions. Les indices sont convertis pour surligner correctement un texte contenant des emoji.
Le mode re.subn développe \1 et \g<name>. Une formule vide supprime les occurrences et $1 reste du texte ordinaire. La source n’est jamais réécrite.
Un résultat terminé peut être copié ou téléchargé en JSON avec le motif, les options, l’opération, la version et toutes les correspondances. La sortie substituée peut aussi être enregistrée.
Vérifiez le moteur sélectionné dans regex101: PCRE2 peut être actif. Ici, CPython re exige notamment la forme (?P<name>...) pour nommer un groupe.
Oui. Sélectionnez Substitution et saisissez \g<name> ou \1. $1 ne désigne pas un groupe en Python; le résultat reste un aperçu séparé.
Oui. Les correspondances sont surlignées, avec valeurs et positions des groupes. Une correspondance de largeur nulle reçoit un repère visible.
La version non gourmande essaie d’abord la plus courte portion possible, l’autre la plus longue. Aucune ne garantit un calcul rapide: testez des cas limites.
Les deux regroupent le motif, mais seul (...) crée un groupe capturé numéroté réutilisable dans une substitution. (?:...) ne prend pas de numéro.
Une autre question ?
Confrontez un exemple positif à un exemple négatif, puis vérifiez les captures et la version du moteur avant export.