Insérer un numéro après une correspondance de groupe en Python re.sub
En Python, la fonction re.sub() permet de remplacer des sous-chaînes dans une chaîne donnée. Un défi courant rencontré est de savoir comment remplacer une correspondance de groupe par un autre groupe suivi d'un numéro spécifique.
Pour illustrer, considérons la tâche consistant à remplacer « foobar » par « foo123bar ». Tenter cela en utilisant une expression simple comme re.sub(r'(foo)', r'1123', 'foobar') aboutit malheureusement à "J3bar" à la place.
La clé pour résoudre ce problème réside dans l'emploi des groupes de capture nommés, qui permettent de référencer les correspondances de groupes par noms attribués dans l'expression régulière. En utilisant la syntaxe (?P
Pour réaliser le remplacement souhaité, nous devons utiliser la syntaxe spéciale g
L'expression régulière corrigée serait :
<code class="python">re.sub(r'(?P<foo>foo)', r'\g<foo>123', 'foobar')</code>
Avec cette expression, le remplacement insère correctement "123" après la correspondance de groupe "foo ", ce qui donne le résultat attendu "foo123bar."
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!