JavaScript में रेगुलर एक्सप्रेशन: उदाहरणों के साथ पूर्ण गाइड
रेगुलर एक्सप्रेशन (regexp या regex) टेक्स्ट डेटा को खोजने, बदलने और मान्य करने के लिए एक शक्तिशाली उपकरण है। JavaScript में, विशेष रूप से Node.js वातावरण में, रेगुलर एक्सप्रेशन का उपयोग सर्वव्यापी है: लॉग प्रोसेसिंग और URL पार्सिंग से लेकर फॉर्म वैलिडेशन और टेक्स्ट मार्कअप तक। इस लेख में, हम JavaScript में रेगुलर एक्सप्रेशन के साथ काम करने की मूल बातें समझेंगे, सिंटैक्स, विधियों की समीक्षा करेंगे और Node.js के लिए व्यावहारिक उदाहरण प्रस्तुत करेंगे।
JavaScript में रेगुलर एक्सप्रेशन बनाना
JavaScript में रेगुलर एक्सप्रेशन बनाने के दो तरीके हैं:
- लिटरल नोटेशन — सबसे सुविधाजनक और सामान्य तरीका:
/pattern/flags. - RegExp कंस्ट्रक्टर — जब पैटर्न डायनामिक रूप से बनाया जाता है तब उपयोग किया जाता है:
new RegExp('pattern', 'flags').
उदाहरण:
// लिटरल नोटेशनconst regexLiteral = /hello/i; // फ्लैग i — केस-इनसेंसिटिव (केस को अनदेखा करें)
// RegExp कंस्ट्रक्टरconst pattern = 'hello';const regexConstructor = new RegExp(pattern, 'i');
console.log(regexLiteral.test('Hello, world!')); // trueconsole.log(regexConstructor.test('HELLO')); // trueमुख्य फ्लैग (मॉडिफायर)
i— केस-इनसेंसिटिव (case-insensitive) खोज (केस को अनदेखा करता है)।g— ग्लोबल सर्च (सभी मैच ढूंढता है, सिर्फ पहला नहीं)।m— मल्टीलाइन मोड (एंकर^और$प्रत्येक लाइन के लिए काम करते हैं)।s— "dotall" मोड (डॉट.में न्यू लाइन कैरेक्टरशामिल है)।u— यूनिकोड के लिए पूर्ण समर्थन।y— "sticky" मोड (वर्तमान स्थिति से खोज)।
JavaScript में रेगुलर एक्सप्रेशन के तरीके
JavaScript में, रेगुलर एक्सप्रेशन स्ट्रिंग और स्वयं RegExp की कई विधियों के साथ काम करते हैं।
विधि test()
जाँचता है कि स्ट्रिंग में कोई मैच है या नहीं। true या false लौटाता है।
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;console.log(emailRegex.test('user@example.com')); // trueconsole.log(emailRegex.test('invalid-email')); // falseविधि exec()
खोज करता है और परिणामों की एक सरणी या null लौटाता है। ग्रुप निकालने के लिए उपयोगी।
const urlRegex = /https?:\\/\\/([^\\/]+)\\/(.*)/;const url = 'https://pythonlib.ru/regular-expressions';const match = urlRegex.exec(url);
if (match) { console.log('डोमेन:', match[1]); // pythonlib.ru console.log('पथ:', match[2]); // regular-expressions}regexp के साथ काम करने वाली स्ट्रिंग विधियाँ
str.match(regex)— मैचों की एक सरणी लौटाता है (याnull)।str.matchAll(regex)— सभी मैचों का एक इटरेटर लौटाता है (ग्रुप के साथ)।str.replace(regex, replacement)— मैचों को बदलता है।str.search(regex)— पहले मैच का इंडेक्स लौटाता है (-1 यदि नहीं मिला)।str.split(regex)— रेगुलर एक्सप्रेशन के अनुसार स्ट्रिंग को विभाजित करता है।
const text = 'कोड: 12345, आर्टिकल: ABC-6789';
// match — सभी अंक खोजेंconst numbers = text.match(/\\d+/g);console.log(numbers); // ['12345', '6789']
// replace — डैश को कोलन से बदलेंconst cleaned = text.replace(/-/g, ':');console.log(cleaned); // 'कोड: 12345, आर्टिकल: ABC:6789'
// split — कॉमा और स्पेस से विभाजित करेंconst parts = text.split(/,\\s*/);console.log(parts); // ['कोड: 12345', 'आर्टिकल: ABC-6789']मुख्य पैटर्न और विशेष वर्ण
सटीक पैटर्न बनाने के लिए मेटाकैरेक्टर और क्वांटिफायर का उपयोग किया जाता है। यहाँ सबसे महत्वपूर्ण हैं:
बुनियादी वर्ण
- < ```