JavaScript-da regex bilan satr
Regexlarni satr shaklida ifodalash mumkin. Bu, agar siz regexlarga o‘zgaruvchilarni qo‘shish yoki ularni dinamik ravishda shakllantirishingiz kerak bo‘lsa, qulay.
Keling, bir misolni ko‘rib chiqaylik. Faraz qilaylik, bizda quyidagi satr bor:
let str = 'img.png';
Faraz qilaylik, biz ushbu satrga quyidagi regexni qo‘llaymiz:
let reg = /\.(png|jpg)$/;
let res = str.match(reg);
Keling, ushbu regexni satr shaklida
yozamiz. Buning uchun maxsus
RegExp obyektidan foydalaniladi:
let reg = new RegExp('\.(png|jpg)$');
let res = str.match(reg);
Keling, endi regexning bir qismini o‘zgaruvchiga ajratamiz va uni konkatenatsiya orqali joylashtiramiz:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
Endi esa uni shablonli satrlar yordamida joylashtiramiz:
let pat = 'png|jpg';
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Endi esa regexning bir qismini massivdan shakllantiramiz:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Amaliy vazifalar
Domen zonalari nomlarini alohida o‘zgaruvchiga ajrating:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Oldingi vazifani domen zonalari massiv ko‘rinishida saqlanganligini hisobga olgan holda o‘zgartiring:
let arr = ['ru', 'by', 'ua'];