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:
let str = 'img.png';
Pieņemsim, ka uz šīs virknes mēs lietojam šādu regulāro izteiksmi:
let 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:
let 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:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
Tagad ievietosim mainīgo, izmantojot veidnes virknes:
let 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:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Praktiskie uzdevumi
Izņemiet domēnu zonu nosaukumus atsevišķā mainīgajā:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Modificējiet iepriekšējo uzdevumu, ņemot vērā to, ka domēnu zonas tiek glabātas masīva formā:
let arr = ['ru', 'by', 'ua'];