Reguláris kifejezésekkel rendelkező sztring JavaScriptben

A reguláris kifejezések sztring formájában is reprezentálhatók. Ez akkor hasznos, ha változókat kell beilleszteni a reguláris kifejezésekbe, vagy azokat dinamikusan kell összeállítani.

Nézzünk egy példát. Tegyük fel, hogy a következő sztringünk van:

javascriptlet str = 'img.png';

Tegyük fel, hogy erre a sztringre a következő reguláris kifejezést alkalmazzuk:

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

Írjuk át ezt a reguláris kifejezést sztring formájába. Ez a speciális RegExp objektum segítségével történik:

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

Most vegyük ki a reguláris kifejezés egy részét egy változóba, és illesszük be konkatenáció segítségével:

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

Most pedig illesszük be a változót sablon sztringek segítségével:

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

Most pedig állítsuk össze a reguláris kifejezés egy részét tömbből:

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

Gyakorlati feladatok

Задание 1

Helyezze a domain zóna neveket külön változóba:

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

Módosítsa az előző feladatot úgy, hogy a domain zónák tömb formájában vannak tárolva:

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