⊗pyPmREOC 51 of 129 menu

La commande 'ou' dans les expressions régulières Python

La commande '|', qui représente une version plus puissante du 'ou' par rapport à la commande [ ]. Cette commande permet de diviser l'expression régulière en plusieurs parties. Dans ce cas, la correspondance peut appartenir soit à une partie de l'expression régulière, soit à une autre. Regardons des exemples.

Exemple

Dans cet exemple, le modèle de recherche est le suivant : trois lettres 'a' ou trois lettres 'b':

txt = 'aaa bbb abb' res = re.sub('a{3}|b{3}', '!', txt) print(res)

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

'! ! abb'

Exemple

Dans cet exemple, le modèle de recherche est le suivant : trois lettres 'a' ou de 1 et plus de lettres 'b':

txt = 'aaa bbb bbbb bbbbb axx' res = re.sub('a{3}|b+', '!', txt) print(res)

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

'! ! ! ! axx'

Exemple

Dans cet exemple, le modèle de recherche est le suivant : une ou plusieurs lettres ou trois chiffres:

txt = 'a ab abc 1 12 123' res = re.sub('[a-z]+|\d{3}', '!', txt) print(res)

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

'! ! ! 1 12 !'

Exemple

La barre verticale peut diviser l'expression régulière non pas en deux parties, mais en un nombre quelconque de parties :

txt = 'aaa bbb ccc ddd' res = re.sub('a+|b+|c+', '!', txt) print(res)

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

'! ! ! ddd'

Exemple

Si la barre verticale est à l'intérieur de parenthèses simples, alors le 'ou' fonctionne seulement à l'intérieur de ces parenthèses.

Par exemple, trouvons les chaînes selon le modèle suivant : au début se trouve soit 'a', soit 'b' une ou plusieurs fois, puis deux lettres 'x':

txt = 'axx bxx bbxx exx' res = re.sub('(a|b+)xx', '!', txt) print(res)

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

'! ! ! exx'

Problèmes pratiques

Soit la chaîne :

txt = 'aeeea aeea aea axa axxa axxxa'

Écrivez une expression régulière qui trouvera les chaînes selon le modèle : sur les bords se trouvent les lettres 'a', et entre elles - soit la lettre 'e' un nombre quelconque de fois, soit la lettre 'x' un nombre quelconque de fois.

Soit la chaîne :

txt = 'aeeea aeea aea axa axxa axxxa'

Écrivez une expression régulière qui trouvera les chaînes selon le modèle : sur les bords se trouvent les lettres 'a', et entre elles - soit la lettre 'e' deux fois, soit la lettre 'x' un nombre quelconque de fois.

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