JavaScript regulýar ifadelerinde 'ýa-da' komandasy

Bu sapakda biz '|' komandasyny çözüpleris, bu [ ] komandasy bilen deňeşdirilende has kuwwatly 'ýa-da' wariantyny görkezýär. Bu komanda regulýarka birnäçe bölege bölmäge mümkinçilik berýär. Şol bir wagtyň özünde gözlenilýän zat ýa-da regulýarkyň bir bölegine, ýa-da başga birine girer. Geliň mysallara ser edeliň.

Mysal

Bu mysylda gözleg şablonu şeýle: üç sany 'a' harp ýa-da üç sany 'b' harp:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript'! ! abb'

Mysal

Bu mysylda gözleg şablonu şeýle: üç sany 'a' harp ýa-da 1 we ondan köpräk 'b' harp:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript'! ! ! ! axx'

Mysal

Bu mysylda gözleg şablonu şeýle: bir ýa-da birnäçe harp ýa-da üç san:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript'! ! ! 1 12 !'

Mysal

Şertli çyzyk regulýarky iki bölege däl-de, islendik mukdarda bölege bölüp bilýär:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript'! ! ! ddd'

Mysal

Eger şertli çyzyk ýygyndy ýaýlaryň içinde bolsa, onda 'ýa-da' diňe şol ýaýlaryň içinde işleýär.

Mysal üçin geliň aşakdaky şablona laýyk setirleri tapalyň: başynda ýa-da 'a', ýa-da 'b' bir ýa-da birnäçe gezek durýar, we ondan soň iki sany 'x' harp:

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

Netijede üýtgeýjide aşakdaky ýazylar:

javascript'! ! ! exx'

Amaly meseleler

Задание 1

Setir berlen:

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

Regulýar ifadäni ýazyň, şol setirleri gözlemeli: gapdalda 'a' harplary, olaryň arasynda bolsa - ýa-da 'e' harpy islendik mukdarda ýa-da 'x' harpy islendik mukdarda.

Задание 2

Setir berlen:

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

Regulýar ifadäni ýazyň, şol setirleri gözlemeli: gapdalda 'a' harplary, olaryň arasynda bolsa - ýa-da 'e' harpy iki gezek ýa-da 'x' harpy islendik mukdarda.