Remplacement de sous-groupes en Python à l'aide de re.sub
En Python, la fonction re.sub permet d'effectuer des substitutions basées sur des modèles d'expressions régulières. Cependant, lorsqu'il s'agit de groupes capturés dans le modèle, il est crucial de comprendre comment récupérer leurs valeurs pour les remplacer.
Supposons que nous souhaitions remplacer la chaîne "foobar" par "foo123bar" à l'aide de la fonction re.sub. En utilisant le modèle "(foo)" pour faire correspondre la partie "foo", nous pouvons rencontrer des problèmes si nous le remplaçons simplement par "1123". Comme le démontre l'exemple fourni, cela entraînera une substitution incorrecte de "J3bar".
Pour remplacer correctement le groupe dans le modèle, nous devons utiliser le "g<1>" syntaxe. Cette syntaxe nous permet de faire référence au premier groupe capturé par l'expression régulière à l'aide de son index. Par conséquent, le modèle de remplacement correct est "g<1>123" :
<code class="python">import re pattern = r'(foo)' result = re.sub(pattern, r'\g<1>123', 'foobar') print(result) # Output: foo123bar</code>
Comme expliqué dans la documentation, "g<1>" représente la sous-chaîne correspondant au premier groupe. Cela garantit que la partie "foo" de la chaîne d'origine est remplacée par sa valeur correspondante suivie de "123".
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!