⊗jsSpREOC 115 of 294 menu

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

Dans cette leçon, nous analyserons la commande '|', qui représente une variante plus puissante du 'ou' par rapport à la commande [ ]. Cette commande permet de diviser l'expression régulière en plusieurs parties. Dans ce cas, l'élément recherché peut correspondre 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 : trois lettres 'a' ou trois lettres 'b' :

let str = 'aaa bbb abb'; let res = str.replace(/a{3}|b{3}/g, '!');

En conséquence, la variable contiendra ce qui suit :

'! ! abb'

Exemple

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

let str = 'aaa bbb bbbb bbbbb axx'; let res = str.replace(/a{3}|b+/g, '!');

En conséquence, la variable contiendra ce qui suit :

'! ! ! ! axx'

Exemple

Dans cet exemple, le modèle de recherche est : une lettre ou plus ou trois chiffres :

let str = 'a ab abc 1 12 123'; let res = str.replace(/[a-z]+|\d{3}/g, '!');

En conséquence, la variable contiendra ce qui suit :

'! ! ! 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 :

let str = 'aaa bbb ccc ddd'; let res = str.replace(/a+|b+|c+/g, '!');

En conséquence, la variable contiendra ce qui suit :

'! ! ! ddd'

Exemple

Si la barre verticale se trouve à l'intérieur de parenthèses simples, alors le 'ou' fonctionne uniquement à 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' :

let str = 'axx bxx bbxx exx'; let res = str.replace(/(a|b+)xx/g, '!');

En conséquence, la variable contiendra ce qui suit :

'! ! ! exx'

Problèmes pratiques

Soit une chaîne :

let str = '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 une chaîne :

let str = '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