Maison > Article > développement back-end > Comment remplacer correctement les correspondances par des groupes numérotés dans re.sub de Python ?
Groupe Python RE.Sub : Numérotation après numéro
Lors de l'utilisation d'expressions régulières en Python, la méthode re.sub peut être utilisée pour remplacer correspond à une chaîne de remplacement. Cependant, la syntaxe peut être délicate lorsque vous travaillez avec des groupes numérotés.
Une tentative mal interprétée :
Au départ, vous pourriez essayer :
<code class="python">re.sub(r'(foo)', r'23', 'foobar')</code>
On s'attend à ce que le résultat soit « foo123bar », mais à la place, il renvoie « J3bar », en remplaçant « foo » par « J3 » pour des raisons qui pourraient ne pas être immédiatement claires.
La syntaxe correcte :
Pour remplacer avec précision 'foo' par 'foo123', utilisez la syntaxe suivante :
<code class="python">re.sub(r'(foo)', r'\g<1>123', 'foobar')</code>
Voici une explication détaillée :
Extrait de la documentation :
Selon la documentation, la syntaxe de g
En plus des échappements de caractères et des références arrière... gutilisera la sous-chaîne correspondant au groupe nommé name, tel que défini par la syntaxe (?P ...). g utilise le numéro de groupe correspondant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!