Regulaaravaldise string JavaScriptis

Regulaaravaldisi saab esitada stringidena. See on mugav juhul, kui teil on vaja teha muutujate sisestamist regulaaravaldistesse või moodustada neid dünaamiliselt.

Vaatame näidet. Olgem meil järgmine string:

javascriptlet str = 'img.png';

Oletagem, et sellele stringile rakendame järgmist regulaaravaldist:

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

Kirjutame selle regulaaravaldise ümber stringi kujul. Seda tehakse kasutades spetsiaalset objekti RegExp:

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

Võtame nüüd osa regulaaravaldistest muutujasse ja sisestame selle kasutades konkateneerimist:

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

Ja nüüd sisestame muutuja kasutades mallstringe:

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

Ja nüüd moodustame osa regulaaravaldist massiivist:

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

Praktilised ülesanded

Задание 1

Viige domeenitsoonide nimed eraldi muutujasse:

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

Modifitseerige eelmist ülesannet arvestades, et domeenitsoonid on salvestatud massiivi kujul:

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