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
Izņemiet domēnu zonu nosaukumus atsevišķā mainīgajā:
javascriptlet 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ā:
javascriptlet arr = ['ru', 'by', 'ua'];