⊗pyPmREMl 50 of 129 menu

Multiligne dans les regex Python

Les expressions régulières ont leurs particularités lorsqu'elles travaillent avec des chaînes multilignes. Examinons-les à l'aide de l'exemple de la chaîne suivante, contenant des caractères ordinaires, des caractères de saut de ligne et de tabulation :

txt = '''111 222 333 444'''

Saut de ligne

Les caractères de saut de ligne peuvent être capturés à l'aide de la commande '\n' :

res = re.sub('\n', '!', txt) print(res)

La chaîne suivante sera affichée comme résultat (les espaces entre les lignes sont des tabulations) :

'111! 222! 333! 444'

Tabulation

Les caractères de tabulation peuvent être capturés à l'aide de la commande '\t' :

res = re.sub('\t', '!', txt) print(res)

Résultat de l'exécution du code :

''' !111 !222 !333 !444 '''

Comportement du point

La commande '.' pour une chaîne multiligne ne capture pas les caractères de saut de ligne :

res = re.sub('.', '!', txt) print(res)

Résultat de l'exécution du code :

''' !!! !!!! !!!! !!!! '''

Tout caractère

Pour capturer tous les caractères dans une chaîne multiligne, une astuce est utilisée sous la forme de la combinaison [\s\S]. Cette construction trouvera tous les caractères ordinaires et tous les sauts de ligne :

res = re.sub('[\s\S]', '!', txt) print(res)

Résultat de l'exécution du code :

'!!!!!!!!!!!!!!!!!!'

Dollar

La commande ' en mode multiligne capturera la fin de chaque ligne :

res = re.sub(' ', '!', txt) print(res)

Résultat de l'exécution du code :

''' 111! 222! 333! 444! '''

Problèmes pratiques

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

''' abc! def! ghi! jkl! '''

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

''' ! abc ! def ! ghi ! jkl '''

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

'''! abc def ghi jkl !'''

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

'''! ! abc ! def ! ghi ! jkl !'''

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

'''! abc! def! ghi! jkl! !'''

Soit la chaîne :

''' abc def ghi jkl '''

Écrivez une expression régulière qui transformera cette chaîne en la suivante :

''' !abc !def !ghi !jkl '''
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser