Տողը ռեգուլյար արտահայտությամբ JavaScript-ում
Ռեգուլյար արտահայտությունները կարող են ներկայացվել տողերի տեսքով։ Սա հարմար է այն դեպքում, երբ անհրաժեշտ է փոփոխականներ ներդնել ռեգուլյար արտահայտությունների մեջ կամ դրանք դինամիկ կերպով ձևավորել։
Դիտարկենք օրինակով։ Ենթադրենք ունենք հետևյալ տողը.
let str = 'img.png';
Ենթադրենք այս տողին կիրառում ենք հետևյալ ռեգուլյար արտահայտությունը.
let reg = /\.(png|jpg)$/;
let res = str.match(reg);
Այժմ այս ռեգուլյար արտահայտությունը գրենք
տողի տեսքով։ Դա արվում է հատուկ
RegExp օբյեկտի միջոցով.
let reg = new RegExp('\\.(png|jpg)$');
let res = str.match(reg);
Այժմ ռեգուլյար արտահայտության մի մասը հանենք փոփոխականի մեջ և ներդնենք այն՝ օգտագործելով կոնկատենացիա.
let pat = 'png|jpg';
let reg = new RegExp('\\.(' + pat + ')$');
let res = str.match(reg);
Այժմ փոփոխականը ներդնենք՝ օգտագործելով տեմպլատային տողերը.
let pat = 'png|jpg';
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Այժմ ռեգուլյար արտահայտության մի մասը ձևավորենք զանգվածից.
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Գործնական առաջադրանքներ
Դոմենային գոտիների անվանումները հանեք առանձին փոփոխականի մեջ.
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Փոփոխեք նախորդ առաջադրանքը՝ հաշվի առնելով, որ դոմենային գոտիները պահվում են զանգվածի տեսքով.
let arr = ['ru', 'by', 'ua'];