'Või' käsk JavaScripti regulaaravaldistes

Selles õppetükis analüüsime käsku '|', mis esindab võimsamat varianti 'või' võrreldes käsuga [ ]. See käsk võimaldab jagada regulaaravaldise mitmeks osaks. Sel juhul võib otsitav vastata kas ühele regulaaravaldise osale või teisele. Vaatame näidetega.

Näide

Selles näites on otsimismustriks: kolm tähte 'a' või kolm tähte 'b':

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'! ! abb'

Näide

Selles näites on otsimismustriks: kolm tähte 'a' või 1 kuni rohkem tähti 'b':

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'! ! ! ! axx'

Näide

Selles näites on otsimismustriks: üks või rohkem tähte või kolm numbrit:

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'! ! ! 1 12 !'

Näide

Vertikaalne joon võib jagada regulaaravaldise mitte kaheks osaks, vaid suvaliseks arvuks osadeks:

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'! ! ! ddd'

Näide

Kui vertikaalne joon asub ümarsulgude sees, siis 'või' töötab ainult nende sulgude sees.

Näitena otsime üles stringid järgmise mustri järgi: alguses on kas 'a', või 'b' üks või mitu korda, ja seejärel kaks tähte 'x':

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'! ! ! exx'

Praktilised ülesanded

Задание 1

Antud string:

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

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: servades on tähed 'a', ja nende vahel - kas täht 'e' suvaline arv kordi või täht 'x' suvaline arv kordi.

Задание 2

Antud string:

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

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: servades on tähed 'a', ja nende vahel - kas täht 'e' kaks korda või täht 'x' suvaline arv kordi.