⊗jsSpREOC 115 of 294 menu

Comanda 'sau' în expresiile regulate JavaScript

În această lecție vom analiza comanda '|', care reprezintă o variantă mult mai puternică a 'sau' în comparație cu comanda [ ]. Această comandă permite împărțirea expresiei regulate în mai multe părți. În acest caz, ceea ce căutăm se potrivește fie cu o parte a expresiei regulate, fie cu alta. Să vedem câteva exemple.

Exemplul

În acest exemplu, șablonul de căutare este: trei litere 'a' sau trei litere 'b':

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

Ca rezultat, în variabilă se va scrie următoarele:

'! ! abb'

Exemplul

În acest exemplu, șablonul de căutare este: trei litere 'a' sau de la 1 și mai multe litere 'b':

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

Ca rezultat, în variabilă se va scrie următoarele:

'! ! ! ! axx'

Exemplul

În acest exemplu, șablonul de căutare este: o literă sau mai multe litere sau trei cifre:

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

Ca rezultat, în variabilă se va scrie următoarele:

'! ! ! 1 12 !'

Exemplul

Bara verticală poate împărți expresia regulată nu în două părți, ci în orice număr de părți:

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

Ca rezultat, în variabilă se va scrie următoarele:

'! ! ! ddd'

Exemplul

Dacă bara verticală se află în interiorul parantezelor rotunde, atunci 'sau' funcționează doar în interiorul acestor paranteze.

De exemplu, să găsim șirurile după următorul șablon: la început se află fie 'a', fie 'b' de una sau mai multe ori, iar apoi două litere 'x':

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

Ca rezultat, în variabilă se va scrie următoarele:

'! ! ! exx'

Probleme practice

Este dat șirul:

let str = 'aeeea aeea aea axa axxa axxxa';

Scrieți o expresie regulată care va găsi șirurile după șablonul: la margini sunt literele 'a', iar între ele - fie litera 'e' de orice număr de ori sau litera 'x' de orice număr de ori.

Este dat șirul:

let str = 'aeeea aeea aea axa axxa axxxa';

Scrieți o expresie regulată care va găsi șirurile după șablonul: la margini sunt literele 'a', iar între ele - fie litera 'e' de două ori sau litera 'x' de orice număr de ori.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge