JavaScript regulýar ifadelerinde nyşan toparlary

Derrew birnäçe nyşan toparyny saýlamaga mümkinçilik berýän aýratyn buýruklar bar. \d buýrugy 0-dan 9-a çenli san manysyny aňladýar. \w buýrugy san, latyn harpyny ýa-da aşaky çyzygy aňladýar. \s buýrugy boşluk ýa-da boşluk nyşanyny aňladýar: boşluk, setir geçişi, tabulýasiýa. Buýrugyň manysyny tersine öwürmek mümkin, uly harp bilen ýazmak arkaly: mysal üçin, \d - san bolsa, \D - san däl.

Mysal

Geliň, ähli sanlary tapalyň:

javascriptlet str = '1 12 123';
let res = str.replace(/\d/g, '!');

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

javascript'! !! !!!'

Mysal

Gaýtalanma operatorlary buýruk-toparlary bir bitewi hökmünde hasaplaýar, ýagny topary ýygnamak üçin möýnekler gerek däl. Indiki mysalda gözleg şablony şeýle görünýär: 0-dan 9-a çenli san bir ýa-da birnäçe gezek:

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');

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

javascript'! ! ! abc @@@'

Mysal

Indiki mysalda gözleg şablony şeýle görünýär: islenen zat bir ýa-da birnäçe gezek, ýöne 0-dan 9-a çenli san däl:

javascriptlet str = '123abc3@@';
let res = str.replace(/\D+/g, '!');

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

javascript'123!3!'

Mysal

Bu mysalda gözleg şablony şeýle görünýär: boşluk nyşany bir gezek:

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');

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

javascript'1!12!123!abc!@@@'

Mysal

Bu mysalda gözleg şablony şeýle görünýär: Boşluk DÄL nyşany bir ýa-da birnäçe gezek. Boşluklar bilen bölünen ähli aýry setirler '!' bilen çalşylar:

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');

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

javascript'! ! ! ! !'

Mysal

Bu mysalda gözleg şablony şeýle görünýär: san ýa-da harp bir ýa-da birnäçe gezek. Sanlardan we harplardan ybarat bolan ähli aýry setirler '!' bilen çalşylar:

javascriptlet str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');

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

javascript'! ! ! ! @@@'

Mysal

Bu mysalda gözleg şablony şeýle görünýär: San DÄL we Harp DÄL bir ýa-da birnäçe gezek. Bu kesgitlemä biziň ýagdaýymyzda '@@@' we ähli boşluklar (olar hem san däl we harp däl) gabat gelýär. Üns beriň ahyrynda bir '!' bar - ol ' @@@' setirine öwrüldi - öňünde boşluk bilen:

javascriptlet str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');

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

javascript'1!12!123!Abc!'

Amaly meseleler

Задание 1

Setir berlen:

javascriptlet str = 'a1a a2a a3a a4a a5a aba aca';

Regulýarka ýazyň, şol setirleri tapsyn, gapdalda 'a' harplary durýan, olaryň arasynda bir san durýan.

Задание 2

Setir berlen:

javascriptlet str = 'a1a a22a a333a a4444a a55555a aba aca';

Regulýarka ýazyň, şol setirleri tapsyn, gapdalda 'a' harplary durýan, olaryň arasynda islendik mukdarda san durýan.

Задание 3

Setir berlen:

javascriptlet str = 'aa a1a a22a a333a a4444a a55555a aba aca';

Regulýarka ýazyň, şol setirleri tapsyn, gapdalda 'a' harplary durýan, olaryň arasynda islendik mukdarda san (şol sanda nol san, ýagny 'aa' setiri) durýan.

Задание 4

Setir berlen:

javascriptlet str = 'avb a1b a2b a3b a4b a5b abb acb';

Regulýarka ýazyň, aşakdaky görnüşdäki setirleri tapsyn: gapdalda 'a' we 'b' harplary durýan, olaryň arasynda - san hem däl, boşluk hem däl.

Задание 5

Setir berlen:

javascriptlet str = 'ave a#b a2b a$b a4b a5b a-b acb';

Regulýarka ýazyň, aşakdaky görnüşdäki setirleri tapsyn: gapdalda 'a' we 'b' harplary durýan, olaryň arasynda - harp hem däl, san hem däl, boşluk hem däl.

Задание 6

Setir berlen:

javascriptlet str = 'ave a#a a2a a$a a4a a5a a-a aca';

Regulýarka ýazyň, ähli boşluklary '!' bilen çalşysyn.