जावास्क्रिप्ट में रेगुलर एक्सप्रेशन: शुरुआती लोगों के लिए उदाहरण सहित

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट रेगुलर एक्सप्रेशन का परिचय

\n

रेगुलर एक्सप्रेशन (regex या regexp) किसी दिए गए पैटर्न के अनुसार स्ट्रिंग्स को खोजने, बदलने और सत्यापित करने के लिए एक शक्तिशाली उपकरण है। जावास्क्रिप्ट (और Node.js) में, वे अंतर्निहित RegExp ऑब्जेक्ट के माध्यम से कार्यान्वित किए जाते हैं।

\n

शुरुआती लोगों के लिए, regex सिंटैक्स डरावना लग सकता है, लेकिन वास्तव में यह पैटर्न का वर्णन करने की एक भाषा मात्र है। बुनियादी निर्माणों में महारत हासिल करके, आप यह कर सकते हैं:

\n
    \n
  • ईमेल, फ़ोन, URL को मान्य करना
  • \n
  • टेक्स्ट से डेटा निकालना (पार्सिंग)
  • \n
  • जटिल नियमों के अनुसार सबस्ट्रिंग बदलना
  • \n
  • उपयोगकर्ता इनपुट को फ़िल्टर और प्रोसेस करना
  • \n
\n

इस लेख में, हम Node.js पर जावास्क्रिप्ट में रेगुलर एक्सप्रेशन को उदाहरणों के साथ समझेंगे। सभी उदाहरण कंसोल या रनटाइम वातावरण में चलाए जा सकते हैं।

\n\n

JS में रेगुलर एक्सप्रेशन बनाना

\n

जावास्क्रिप्ट में regex बनाने के दो तरीके हैं:

\n

1. लिटरल सिंटैक्स (अनुशंसित)

\n
const pattern = /hello/;  // "hello" शब्द खोजता है
\n

पैटर्न दो स्लैश के बीच रखा जाता है। समापन स्लैश के बाद, आप फ़्लैग निर्दिष्ट कर सकते हैं (जैसे, i — केस-असंवेदनशील खोज)।

\n\n

2. RegExp कंस्ट्रक्टर

\n
const pattern = new RegExp('hello');  // /hello/ का एनालॉग
\n

इसका उपयोग तब किया जाता है जब पैटर्न डायनामिक हो (वेरिएबल से बनता है)।

\n\n

रेगुलर एक्सप्रेशन के फ़्लैग

\n
    \n
  • i — केस को अनदेखा करें (/hello/i "Hello", "HELLO" ढूंढेगा)
  • \n
  • g — ग्लोबल खोज (पहले के बजाय सभी मिलान खोजता है)
  • \n
  • m — मल्टीलाइन मोड (एंकर ^ और $ के व्यवहार को बदलता है)
  • \n
  • s — डॉट न्यूलाइन कैरेक्टर से मेल खाता है
  • \n
  • u — Unicode समर्थन
  • \n
  • y — स्टिकी खोज (केवल lastIndex स्थिति से खोजता है)
  • \n
\n
const regex = /javascript/gi;  // "javascript" को ग्लोबल और केस-असंवेदनशील रूप से खोजता है
\n\n

जावास्क्रिप्ट में regex के साथ काम करने की मुख्य विधियाँ

\n

आइए उन प्रमुख विधियों पर नज़र डालें जो रेगुलर एक्सप्रेशन के साथ उपयोग की जाती हैं।

\n\n

test() — पैटर्न की उपस्थिति की जाँच

\n

true या false लौटाता है। सत्यापन के लिए सबसे तेज़ तरीका।

\n
const emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$/i;\nconsole.log(emailPattern.test('user@example.com')); // true\nconsole.log(emailPattern.test('invalid-email'));    // false
\n\n

exec() — विवरण के साथ खोज

\n

मिलान और समूहों के साथ एक ऐरे लौटाता है। g फ़्लैग के साथ, यह स्थिति याद रखता है।

\n
const str = 'मूल्य: 100 रुपये, छूट: 20 रुपये';\nconst pricePattern = /(\\d+)\\sरुपये/g;\nlet match;\nwhile ((match = pricePattern.exec(str)) !== null) {\n  console.log(`मिला: ${match[0]}, संख्या: ${match[1]}`);\n}\n// आउटपुट:\n// मिला: 100 रुपये, संख्या: 100\n// मिला: 20 रुपये, संख्या: 20
\n\n

match() — स्ट्रिंग में खोज

\n

स्ट्रिंग विधि। g फ़्लैग के बिना, पहला मिलान लौटाता है (exec की तरह)। g फ़्लैग के साथ, सभी मिलानों की एक ऐरे लौटाता है।

\n
const text = 'JS — यह JavaScript है, इसे Java के साथ भ्रमित न करें।';\nconst jsMatches = text.match(/Java\\w*/g);\nconsole.log(jsMatches); // ['JavaScript', 'Java']
\n\n

replace() — पैटर्न के अनुसार बदलें

\n

मिलानों को एक नई स्ट्रिंग से बदलता है। विशेष वर्णों का समर्थन करता है ($1, $&)।

\n
const phone = '+7 (123) 456-78-90';\nconst cleanPhone = phone.replace(/[\\s\\(\\)\\-]/g, '');\nconsole.log(cleanPhone); // +71234567890\n\n// समूहों का उपयोग करके बदलें\nconst date = '2024-03-15';\nconst reversed = date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, '$3.$2.$1');\nconsole.log(reversed); // 15.03.2024
\n\n

search() — पहले मिलान का इंडेक्स

\n
const index = 'Hello world'.search(/world/);\nconsole.log(index); // 6                

ब्लॉग

पुस्तक अनुशंसाएँ