String met regulêre uitdrukking in JavaScript

Regulêre uitdrukkings kan voorgestel word in die vorm van string. Dit is gerieflik in die geval as jy nodig het om invoegings van veranderlikes in regulêre uitdrukkings te maak, of om dit dinamies te vorm.

Kom ons kyk na 'n voorbeeld. Gestel ons het die volgende string:

javascriptlet str = 'img.png';

Gestel ons pas op hierdie string die volgende regulêre uitdrukking toe:

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

Kom ons herskryf hierdie regulêre uitdrukking in die vorm van 'n string. Dit word gedoen met behulp van die spesiale voorwerp RegExp:

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

Kom ons haal nou 'n deel van die regulêre uitdrukking uit in 'n veranderlike en voeg dit in met behulp van konkatenasie:

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

En nou voeg ons die veranderlike in met behulp van skabloonstring:

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

En nou vorm ons 'n deel van die regulêre uitdrukking uit 'n array:

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

Praktiese take

Задание 1

Plaas die name van die domeinsones in 'n aparte veranderlike:

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

Wysig die vorige taak met inagneming daarvan dat die domeinsones gestoor word in die vorm van 'n array:

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