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ň:
let str = 'img.png';
Bu setire aşakdaky regulýar ifadäni ulandygymyz bolsun:
let 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:
let 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:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
Indi bolsa üýtgeýjäni şablon setirler arkaly goşaýaly:
let 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ň:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Amaly meseleler
Domen zonalarynyň adlaryny aýratyn üýtgeýjäne çykaryň:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Öňki meseläni domen zonalarynyň massiwde saklanýandygy bilen üýtgediň:
let arr = ['ru', 'by', 'ua'];