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:
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Netijede üýtgeýjide aşakdaky ýazylar:
'! ! abb'
Mysal
Bu mysylda gözleg şablonu şeýle: üç sany
'a' harp ýa-da 1 we ondan köpräk
'b' harp:
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Netijede üýtgeýjide aşakdaky ýazylar:
'! ! ! ! axx'
Mysal
Bu mysylda gözleg şablonu şeýle: bir ýa-da birnäçe harp ýa-da üç san:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Netijede üýtgeýjide aşakdaky ýazylar:
'! ! ! 1 12 !'
Mysal
Şertli çyzyk regulýarky iki bölege däl-de, islendik mukdarda bölege bölüp bilýär:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Netijede üýtgeýjide aşakdaky ýazylar:
'! ! ! 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:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Netijede üýtgeýjide aşakdaky ýazylar:
'! ! ! exx'
Amaly meseleler
Setir berlen:
let 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.
Setir berlen:
let 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.