D limites des mots dans les regex Python
Avec la commande '\\b', on peut
accéder à la limite d'un mot, et avec la
commande '\B' ou '\\B' - à la
non-limite. Notez que dans le cas de la
définition des limites des mots en Python,
l'échappement fonctionne strictement avec
deux barres obliques inverses, bien que
pour d'autres commandes, une barre oblique
inverse soit autorisée. Regardons le
fonctionnement de ces commandes avec des
exemples.
Exemple
Entourons chaque mot avec le symbole
'!':
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
Résultat de l'exécution du code:
'!aaa! !aaa! !aaa!'
Exemple
Ajoutons le symbole '!' dans
les intervalles entre les lettres:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
Résultat de l'exécution du code:
'a!a!a a!a!a a!a!a'
Problèmes pratiques
Soit la chaîne:
txt = 'abc def xyz'
Écrivez une expression régulière qui transformera cette chaîne en celle-ci:
'#abc# #def# #xyz#'
Soit la chaîne:
txt = 'abc def xyz'
Écrivez une expression régulière qui transformera cette chaîne en celle-ci:
'a+b+c d+e+f x+y+z'