Streng med regulært udtryk i JavaScript

Regulære udtryk kan repræsenteres som strenge. Dette er praktisk i det tilfælde, hvis du har brug for at indsætte variabler i regulære udtryk, eller danne dem dynamisk.

Lad os se på et eksempel. Lad os sige, at vi har følgende streng:

javascriptlet str = 'img.png';

Lad os sige, at vi anvender følgende regulære udtryk til denne streng:

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

Lad os omskrive dette regulære udtryk som en streng. Dette gøres ved hjælp af et specielt objekt RegExp:

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

Lad os nu flytte en del af det regulære udtryk ud i en variabel og indsætte den ved hjælp af konkatenering:

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

Og lad os nu indsætte variablen ved hjælp af skabelonstrenge:

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

Og lad os nu danne en del af det regulære udtryk fra et array:

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

Praktiske opgaver

Задание 1

Flyt domænezonernes navne ud i en separat variabel:

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

Modificer den forrige opgave under hensyntagen til, at domænezoner gemmes som et array:

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