Mstari na Usemi wa Kawaida katika JavaScript
Misemo ya kawaida inaweza kuwakilishwa kama mistari. Hii ni rahisi katika hali unahitaji kufanya viingizo za vigezo katika misemo ya kawaida, au kuunda kwa nguvu.
Hebu tuangalie kwa mfano. Tuchukulie tuna mstari ufuatao:
let str = 'img.png';
Tuchukulie kwa mstari huu tunatumia usemi wa kawaida ufuatao:
let reg = /\.(png|jpg)$/;
let res = str.match(reg);
Hebu tuandike tena usemi huu wa kawaida
katika mfumo wa mstari. Hii inafanywa kwa kutumia
kitu maalum RegExp:
let reg = new RegExp('\\.(png|jpg)$');
let res = str.match(reg);
Hebu sasa tuweke sehemu ya usemi wa kawaida kwenye kigezo na tuiingize kwa kutumia kuunganisha:
let pat = 'png|jpg';
let reg = new RegExp('\\.(' + pat + ')$');
let res = str.match(reg);
Na sasa ingiza kigezo kwa kutumia mistari ya kigezo:
let pat = 'png|jpg';
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Na sasa tutengeneze sehemu ya usemi wa kawaida kutoka kwa safu:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Matatizo ya Vitendo
Weka majina ya maeneo ya kikoa kwenye kigezo tofauti:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Rekebisha tatizo la awali kwa kuzingatia kwamba maeneo ya kikoa yamehifadhiwa katika mfumo wa safu:
let arr = ['ru', 'by', 'ua'];