Existe-t-il un moyen de remplacer directement tous les groupes en utilisant la syntaxe regex?
La manière normale:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
Mais je veux réaliser quelque chose comme ça:
re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
Je veux créer la nouvelle chaîne instantanément à partir des groupes que le Regex vient de capturer.
python
regex
regex-group
mc_kaiser
la source
la source
(r(r))r((r)((r)r))
situation?1(r2(r))r3(4(r)5(6(r)r))
.La réponse acceptée est parfaite. J'ajouterais que la référence de groupe est probablement mieux obtenue en utilisant cette syntaxe:
pour la chaîne de remplacement. De cette façon, vous contournez les limitations de syntaxe dans lesquelles un groupe peut être suivi d'un chiffre. Encore une fois, tout cela est présent dans la doc, rien de nouveau, juste parfois difficile à repérer à première vue.
la source