Cet article utilise Python 2.7 pour la vérification.
Lorsque vous voulez utiliser re.sub ()
pour effectuer une substitution de groupe d'expressions régulières, vous l'écrivez généralement comme ceci.
(* Faites attention d'écrire `` \ '' deux fois avant le groupe numéro 1)
python
re.sub(r'(hoge)', '\\1bar', 'hogefoo')
#résultat:
# 'hogebarfoo'
Cependant, avec cette méthode d'écriture, si vous souhaitez mettre un nombre après le numéro de groupe **, vous obtiendrez l'erreur suivante. ** **
python
# 'Troisième'À'numéro 3'Vouloir
re.sub(r'(Non.)Trois', '\\13', 'Non.Trois')
#résultat:
# ...
# raise error, "invalid group reference"
# sre_constants.error: invalid group reference
En effet, le numéro de groupe est reconnu comme 13 (dans l'exemple ci-dessus) au lieu de 1.
Dans un tel cas, vous pouvez le résoudre en écrivant comme suit.
python
re.sub(r'(Non.)Trois', '\g<1>3', 'Non.Trois')
#résultat:
#numéro 3