⊗pyPmRERO 34 of 129 menu

Opérateurs de répétition de caractères dans les regex

Il arrive que l'on doive indiquer qu'un caractère se répète un certain nombre de fois. Si le nombre exact de répétitions est inconnu, on peut simplement l'écrire plusieurs fois - 'aaaa'. Mais que faire si l'on doit dire quelque chose comme : répéter une fois ou plus ?

Pour cela, il existe des opérateurs (quantificateurs) de répétition : le plus + (une fois ou plus), l'astérisque * (zéro fois ou plus) et le point d'interrogation ? (zéro ou une fois). Ces opérateurs agissent sur le caractère qui les précède.

Examinons le fonctionnement de ces opérateurs à l'aide d'exemples.

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' une ou plusieurs fois, lettre 'x' :

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

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

'xx ! ! ! xbx'

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' zéro ou plusieurs fois, lettre 'x' :

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

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

'! ! ! ! xbx'

Exemple

Trouvons toutes les sous-chaînes selon le motif lettre 'x', lettre 'a' zéro ou une fois, lettre 'x' :

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

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

'! ! xaax xbx'

Problèmes pratiques

Soit la chaîne :

txt = 'aa aba abba abbba abca abea'

Écrivez une expression régulière qui trouvera les chaînes 'aba', 'abba', 'abbba' selon le motif : lettre 'a', lettre 'b' n'importe quel nombre de fois, lettre 'a'.

Soit la chaîne :

txt = 'aa aba abba abbba abca abea'

Écrivez une expression régulière qui trouvera les chaînes 'aa', 'aba', 'abba', 'abbba' selon le motif : lettre 'a', lettre 'b' n'importe quel nombre de fois (y compris zéro fois), lettre 'a'.

Soit la chaîne :

txt = 'aa aba abba abbba abca abea'

Écrivez une expression régulière qui trouvera les chaînes 'aa', 'aba' selon le motif : lettre 'a', lettre 'b' une fois ou zéro, lettre 'a'.

Soit la chaîne :

txt = 'aa aba abba abbba abca abea'

Écrivez une expression régulière qui trouvera les chaînes 'aa', 'aba', 'abba', 'abbba', sans capturer 'abca' et 'abea'.

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