जावास्क्रिप्ट में रेगुलर एक्सप्रेशन वाली स्ट्रिंग
रेगुलर एक्सप्रेशन को स्ट्रिंग के रूप में दर्शाया जा सकता है। यह तब उपयोगी होता है जब आपको रेगुलर एक्सप्रेशन में वेरिएबल डालने हों, या उन्हें डायनामिक रूप से बनाना हो।
आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास निम्नलिखित स्ट्रिंग है:
javascriptlet str = 'img.png';
मान लीजिए कि हम इस स्ट्रिंग पर निम्नलिखित रेगुलर एक्सप्रेशन लागू करते हैं:
javascriptlet reg = /\.(png|jpg)$/;
let res = str.match(reg);
आइए इस रेगुलर एक्सप्रेशन को स्ट्रिंग के रूप में
फिर से लिखें। यह विशेष ऑब्जेक्ट RegExp की
सहायता से किया जाता है:
javascriptlet reg = new RegExp('\.(png|jpg)$');
let res = str.match(reg);
आइए अब रेगुलर एक्सप्रेशन के एक हिस्से को एक वेरिएबल में निकालें और कॉन्कैटीनेशन की सहायता से इसे डालें:
javascriptlet pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
और अब टेम्पलेट स्ट्रिंग की सहायता से वेरिएबल डालें:
javascriptlet pat = 'png|jpg';
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
और अब रेगुलर एक्सप्रेशन के हिस्से को एरे से बनाएं:
javascriptlet exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
प्रैक्टिकल समस्याएं
डोमेन ज़ोन के नाम एक अलग वेरिएबल में निकालें:
javascriptlet reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
पिछली समस्या को इस बात को ध्यान में रखते हुए संशोधित करें कि डोमेन ज़ोन एक एरे के रूप में स्टोर हैं:
javascriptlet arr = ['ru', 'by', 'ua'];