Reguliarios išraiškos eilutė JavaScript
Reguliariosios išraiškos gali būti pateikiamos eilučių pavidalu. Tai patogu tais atvejais, kai jums reikia daryti kintamųjų įterpimus į reguliarias išraiškas arba formuoti jas dinamiškai.
Pažiūrėkime pavyzdžiu. Tarkime, kad turime tokią eilutę:
javascriptlet str = 'img.png';
Tarkime, kad šiai eilutei taikome šią reguliariąją išraišką:
javascriptlet reg = /\.(png|jpg)$/;
let res = str.match(reg);
Perrašykime šią reguliariąją išraišką
eilutės pavidalu. Tai daroma naudojant
specialųjį objektą RegExp:
javascriptlet reg = new RegExp('\\.(png|jpg)$');
let res = str.match(reg);
Dabar išskirkime dalį reguliariosios išraiškos į kintamąjį ir įterpkime ją naudodami konkatenaciją:
javascriptlet pat = 'png|jpg';
let reg = new RegExp('\\.(' + pat + ')$');
let res = str.match(reg);
O dabar įterpkime kintamąjį naudodami šablonines eilutes:
javascriptlet pat = 'png|jpg';
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
O dabar suformuokime dalį reguliariosios išraiškos iš masyvo:
javascriptlet exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Praktinės užduotys
Išskirkite domenų zonų pavadinimus į atskirą kintamąjį:
javascriptlet reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Modifikuokite ankstesnę užduotį atsižvelgdami į tai, kad domenų zonos saugomos masyvo pavidalu:
javascriptlet arr = ['ru', 'by', 'ua'];