JavaScript-de regulýar ifadeli setir

Regulýar ifadeler setir görnüşinde hödürlenip biler. Bu, siziň regulýar ifadelere üýtgeýänleri goşmaly bolsaňyz ýa-da olary dinamiki döretmeli bolsaňyz, amatlydyr.

Mysal üçin seredeliň. Bizde aşakdaky setir bardyr diýeliň:

javascriptlet str = 'img.png';

Bu setire aşakdaky regulýar ifadäni ulandygymyz bolsun:

javascriptlet reg = /\.(png|jpg)$/;
let res = str.match(reg);

Geliň bu regulýar ifadäni setir görnüşinde ýazaýaly. Bu, ýörite bir RegExp objekti arkaly amala aşyrylýar:

javascriptlet reg = new RegExp('\.(png|jpg)$');
let res = str.match(reg);

Indi bolsa regulýar ifadäniň bir bölegini üýtgeýjäne çykaryp, birikdirmek arkaly goşaýaly:

javascriptlet pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);

Indi bolsa üýtgeýjäni şablon setirler arkaly goşaýaly:

javascriptlet pat = 'png|jpg';
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);

Indi bolsa regulýar ifadäniň bir bölegini massiwden dörediň:

javascriptlet exts = ['png', 'jpg'];
let pat  = exts.join('|');
let reg  = new RegExp(`\.(${pat})$`);
let res  = str.match(reg);

Amaly meseleler

Задание 1

Domen zonalarynyň adlaryny aýratyn üýtgeýjäne çykaryň:

javascriptlet reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Задание 2

Öňki meseläni domen zonalarynyň massiwde saklanýandygy bilen üýtgediň:

javascriptlet arr = ['ru', 'by', 'ua'];