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.