Varg me shprehje të rregullta në JavaScript
Shprehjet e rregullta mund të paraqiten në formën e vargjeve. Kjo është e përshtatshme në rastin kur ju duhet të bëni futje të ndryshoreve në shprehjet e rregullta, ose t'i formoni ato në mënyrë dinamike.
Le të shohim një shembull. Le të themi se kemi vargun e mëposhtëm:
let str = 'img.png';
Le të themi se këtij vargu ne i aplikojmë shprehjen e rregullt të mëposhtme:
let reg = /\.(png|jpg)$/;
let res = str.match(reg);
Le ta rishkruajmë këtë shprehje të rregullt
në formën e një vargu. Kjo bëhet duke përdorur
objektin e veçantë RegExp:
let reg = new RegExp('\.(png|jpg)$');
let res = str.match(reg);
Tani le të nxjerrim një pjesë të shprehjes së rregullt në një ndryshore dhe ta fusim atë duke përdorur konkatenim:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
Dhe tani le të fusim ndryshoren duke përdorur vargje shabllone:
let pat = 'png|jpg';
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Dhe tani le të formojmë një pjesë të shprehjes së rregullt nga një varg:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Detyra praktike
Nxirre emrat e zonave të domainit në një ndryshore të veçantë:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Modifikoni detyrën e mëparshme duke marrë parasysh që zonat e domainit ruhen në formën e një vargu:
let arr = ['ru', 'by', 'ua'];