Regulārās izteiksmes virkne JavaScript

Regulārās izteiksmes var attēlot virknes formā. Tas ir ērti gadījumos, kad nepieciešams ievietot mainīgos regulārajās izteiksmēs vai veidot tās dinamiski.

Apskatīsim piemēru. Pieņemsim, ka mums ir šāda virkne:

javascriptlet str = 'img.png';

Pieņemsim, ka uz šīs virknes mēs lietojam šādu regulāro izteiksmi:

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

Pārrakstīsim šo regulāro izteiksmi virknes formā. Tas tiek darīts, izmantojot īpašo objektu RegExp:

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

Tagad izņemsim daļu no regulārās izteiksmes mainīgajā un ievietosim to, izmantojot konkatēnāciju:

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

Tagad ievietosim mainīgo, izmantojot veidnes virknes:

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

Tagad veidosim daļu no regulārās izteiksmes no masīva:

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

Praktiskie uzdevumi

Задание 1

Izņemiet domēnu zonu nosaukumus atsevišķā mainīgajā:

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

Modificējiet iepriekšējo uzdevumu, ņemot vērā to, ka domēnu zonas tiek glabātas masīva formā:

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