जावास्क्रिप्ट में रेगुलर एक्सप्रेशन वाली स्ट्रिंग
रेगुलर एक्सप्रेशन को स्ट्रिंग के रूप में दर्शाया जा सकता है। यह तब उपयोगी होता है जब आपको रेगुलर एक्सप्रेशन में वेरिएबल डालने हों, या उन्हें डायनामिक रूप से बनाना हो।
आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास निम्नलिखित स्ट्रिंग है:
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'];