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:

javascriptlet str = 'img.png';

Faraz qilaylik, biz ushbu satrga quyidagi regexni qo‘llaymiz:

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

Keling, ushbu regexni satr shaklida yozamiz. Buning uchun maxsus RegExp obyektidan foydalaniladi:

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

Keling, endi regexning bir qismini o‘zgaruvchiga ajratamiz va uni konkatenatsiya orqali joylashtiramiz:

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

Endi esa uni shablonli satrlar yordamida joylashtiramiz:

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

Endi esa regexning bir qismini massivdan shakllantiramiz:

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

Amaliy vazifalar

Задание 1

Domen zonalari nomlarini alohida o‘zgaruvchiga ajrating:

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

Oldingi vazifani domen zonalari massiv ko‘rinishida saqlanganligini hisobga olgan holda o‘zgartiring:

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