Parenthèses de regroupement dans les regex de Python
Dans les exemples précédents, les opérateurs de répétition n'agissaient que sur un seul caractère qui se trouvait avant eux. Que faire si vous avez besoin de les faire agir sur plusieurs caractères ?
Pour cela, il existe les parenthèses de regroupement
'(' et . Elles fonctionnent ainsi :
si quelque chose se trouve entre des parenthèses de regroupement
et qu'il y a immédiatement après ')'')' un opérateur
de répétition - il agira sur tout ce qui
se trouve à l'intérieur des parenthèses.
Dans l'exemple suivant, le modèle de recherche est
le suivant : la lettre 'x', suivie de la chaîne
'ab' une ou plusieurs fois, puis la lettre
'x' :
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Résultat de l'exécution du code :
'! ! xaabbx'
Étant donné la chaîne :
txt = 'ab abab abab abababab abea'
Écrivez une expression régulière qui trouvera les chaînes
correspondant au modèle : la chaîne 'ab' répétée
1 fois ou plus.