Début et fin de ligne dans les regex Python
Il existe des caractères spéciaux qui
indiquent le début '^' ou la fin
de la ligne '
. Regardons leur
fonctionnement à travers des exemples.
Exemple
Dans cet exemple, le modèle de recherche est le suivant :
remplacer 'aaa' par '!'
uniquement s'il se trouve au début de la ligne :
txt = 'aaa aaa aaa'
res = re.sub('^aaa', '!', txt)
print(res)
Résultat de l'exécution du code :
'! aaa aaa'
Exemple
Dans cet exemple, le modèle de recherche est le suivant :
remplacer 'aaa' par '!'
uniquement s'il se trouve à la fin de la ligne :
txt = 'aaa aaa aaa'
res = re.sub('aaa
', '!', txt)
print(res)
Résultat de l'exécution du code :
'aaa aaa !'
Exemple
Lorsque le '^' est au début de l'expression régulière,
et le '
à la fin, cela permet de
vérifier que la chaîne entière correspond
à l'expression régulière.
Dans l'exemple suivant, le modèle de recherche est le suivant :
la lettre 'a' répétée une ou
plusieurs fois, remplacer toute la chaîne par '!'
uniquement si elle est constituée uniquement de lettres 'a' :
txt = 'aaa'
res = re.sub('^a+$', '!', txt)
print(res)
Résultat de l'exécution du code :
'!'
Problèmes pratiques
Soit la chaîne :
txt = 'abc def xyz'
Écrivez une expression régulière qui trouvera la première sous-chaîne de lettres.
Soit la chaîne :
txt = 'abc def xyz'
Écrivez une expression régulière qui trouvera la dernière sous-chaîne de lettres.