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:
let str = 'img.png';
Gestel ons pas op hierdie string die volgende regulêre uitdrukking toe:
let 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:
let 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:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
En nou voeg ons die veranderlike in met behulp van skabloonstring:
let 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:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Praktiese take
Plaas die name van die domeinsones in 'n aparte veranderlike:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Wysig die vorige taak met inagneming daarvan dat die domeinsones gestoor word in die vorm van 'n array:
let arr = ['ru', 'by', 'ua'];