JavaScript-тегімен тұрақты өрнек жолы

Тұрақты өрнектерді жол түрінде көрсетуге болады. Бұл ыңғайлы, егер сізге тұрақты өрнектерге айнымалыларды енгізу қажет болса, немесе оларды динамикалық түрде құру қажет болса.

Мысалға қарайық. Бізде келесі жол бар делік:

javascriptlet str = 'img.png';

Бұл жолға келесі тұрақты өрнекті қолданамыз делік:

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

Бұл тұрақты өрнекті жол түрінде қайта жазайық. Бұл RegExp арнайы нысаны арқылы жасалады:

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

Енді тұрақты өрнектің бір бөлігін айнымалыға шығарып, оны конкатенация арқылы енгізейік:

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

Енді айнымалыны қалыпты жолдар арқылы енгізейік:

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

Енді тұрақты өрнектің бір бөлігін массивтен құрастырайық:

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

Практикалық есептер

Задание 1

Домен аймақтарының атауларын жеке айнымалыға шығарыңыз:

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

Алдыңғы есепті домен аймақтары массив түрінде сақталатынын ескере отырып өзгертіңіз:

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