⊗jsSpREStri 134 of 294 menu

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:

let str = 'img.png';

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

let 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:

let 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:

let 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:

let 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:

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

Praktiske opgaver

Flyt domænezonernes navne ud i en separat variabel:

let reg = /^[a-z]+\.(ru|by|ua)$/; let res = reg.test(str);

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

let arr = ['ru', 'by', 'ua'];
hysvfrazuzl