हर डेवलपर को मास्टर करने चाहिए Regex पैटर्न
रेगुलर एक्सप्रेशन (Regex) डेवलपर के टूलकिट में सबसे शक्तिशाली उपकरणों में से एक हैं। वे आपको संक्षिप्त पैटर्न के साथ टेक्स्ट को खोज, सत्यापित और रूपांतरित करने की अनुमति देते हैं जो प्रक्रियात्मक कोड में दर्जनों पंक्तियाँ ले सकते हैं। जबकि Regex सिंटैक्स पहली नज़र में गूढ़ लग सकता है, मुख्य पैटर्न के एक सेट में महारत हासिल करना अधिकांश वास्तविक दुनिया के उपयोग मामलों को कवर करता है। यह गाइड उन Regex पैटर्न को प्रस्तुत करती है जिनका आप बार-बार उपयोग करेंगे, प्रत्येक पैटर्न कैसे काम करता है इसकी विस्तृत व्याख्या के साथ।
Regex मूल बातें समीक्षा
विशिष्ट पैटर्न में जाने से पहले, यहाँ सभी रेगुलर एक्सप्रेशन पैटर्न की नींव बनाने वाले आधार मेटाकैरेक्टर का त्वरित पुनरावलोकन है:
| मेटाकैरेक्टर | अर्थ | उदाहरण |
|---|---|---|
| . | कोई भी एकल कैरेक्टर | a.c abc, a1c, a c से मिलान करता है |
| * | पिछला कैरेक्टर शून्य या अधिक बार | ab*c ac, abc, abbc से मिलान करता है |
| + | पिछला कैरेक्टर एक या अधिक बार | ab+c abc, abbc से मिलान करता है |
| ? | पिछला कैरेक्टर शून्य या एक बार | colou?r color, colour से मिलान करता है |
| ^ | स्ट्रिंग की शुरुआत | ^Hello शुरुआत में Hello से मिलान करता है |
| $ | स्ट्रिंग का अंत | world$ अंत में world से मिलान करता है |
| [] | वर्ण वर्ग | [aeiou] किसी भी स्वर से मिलान करता है |
| () | कैप्चर समूह | (ab)+ ab, abab से मिलान करता है |
| | | विकल्प (या) | cat|dog cat या dog से मिलान करता है |
| \d | अंक [0-9] | \d{3} 123 से मिलान करता है |
| \w | शब्द कैरेक्टर [a-zA-Z0-9_] | \w+ hello_123 से मिलान करता है |
| \s | व्हाइटस्पेस वर्ण | a\sb a b से मिलान करता है |
1. ईमेल सत्यापन
बुनियादी ईमेल पैटर्न
यह पैटर्न ईमेल पतों की बुनियादी संरचना को सत्यापित करता है: @ से पहले एक या अधिक अनुमत वर्ण, उसके बाद कम से कम एक बिंदु वाला डोमेन नाम, और दो या अधिक अक्षरों का शीर्ष-स्तरीय डोमेन। यह अधिकांश अमान्य प्रारूपों को पकड़ता है जबकि वैध पतों को पारित होने देता है।
मिलान: user@example.com, john.doe+tag@company.co.uk
अमिलान: user@, @example.com, user@.com
2. URL सत्यापन
HTTP/HTTPS URL पैटर्न
यह पैटर्न वैकल्पिक www उपसर्ग के साथ HTTP और HTTPS URL से मिलान करता है, जिसमें डोमेन नाम और वैकल्पिक पथ शामिल हैं। s? https में "s" को वैकल्पिक बनाता है, (www\.)? www उपसर्ग को वैकल्पिक बनाता है। पथ खंड (\/[^\s]*)? डोमेन नाम के बाद व्हाइटस्पेस को छोड़कर किसी भी वर्ण की अनुमति देता है।
मिलान: https://example.com, http://www.example.com/path/to/page
अमिलान: ftp://example.com, example.com (बिना प्रोटोकॉल)
3. फ़ोन नंबर सत्यापन
अंतर्राष्ट्रीय फ़ोन नंबर
यह पैटर्न E.164 अंतर्राष्ट्रीय फ़ोन नंबर प्रारूप का पालन करता है। यह वैकल्पिक + उपसर्ग की अनुमति देता है, पहले अंक को 1-9 (कोई अग्रणी शून्य नहीं) होना आवश्यक है, और कुल 15 अंकों तक की अनुमति देता है। यह अंतर्राष्ट्रीय स्तर पर फ़ोन नंबर संग्रहीत और सत्यापित करने का सबसे विश्वसनीय प्रारूप है।
मिलान: +14155552671, 442071838750
अमिलान: +01xxxxxxxxx, 123
4. पासवर्ड शक्ति
मजबूत पासवर्ड पैटर्न
यह पैटर्न एक मजबूत पासवर्ड नीति लागू करता है: कम से कम 8 वर्ण, कम से कम एक लोअरकेस अक्षर, एक अपरकेस अक्षर, एक अंक और एक विशेष वर्ण। (?=.*[...]) सिंटैक्स प्रत्येक वर्ण प्रकार की उपस्थिति की जाँच करने के लिए पॉज़िटिव लुकअहेड का उपयोग करता है, बिना वर्णों का उपभोग किए।
मिलान: MyP@ss1word, Str0ng!Pass
अमिलान: password, Password1, P@ss
5. IP पता सत्यापन
IPv4 पता
यह पैटर्न IPv4 पतों को सत्यापित करता है और उचित रेंज जाँच करता है। प्रत्येक ऑक्टेट 0 से 255 के बीच होना चाहिए। पैटर्न विकल्प का उपयोग करता है: 250-255 (25[0-5]), 200-249 (2[0-4]\d), या 0-199 ([01]?\d\d?)। यह तीन बिंदुओं के बाद तीन बार दोहराया जाता है, फिर अंतिम ऑक्टेट के लिए एक बार।
मिलान: 192.168.1.1, 10.0.0.1, 255.255.255.0
अमिलान: 256.1.1.1, 192.168.1, 192.168.1.1.1
6. दिनांक प्रारूप सत्यापन
YYYY-MM-DD (ISO 8601)
यह पैटर्न ISO 8601 प्रारूप (YYYY-MM-DD) में दिनांकों को सत्यापित करता है। यह चार-अंकीय वर्ष, 01-12 के बीच महीना और 01-31 के बीच दिन की जाँच करता है। ध्यान दें कि यह पैटर्न प्रारूप को सत्यापित करता है लेकिन दिनांक की तार्किक वैधता नहीं (जैसे, यह 2026-02-31 की अनुमति देता है)। पूर्ण सत्यापन के लिए, दिनांक को पार्स करें और प्रोग्रामेटिक रूप से जाँचें।
मिलान: 2026-05-20, 2025-01-01, 2024-12-31
अमिलान: 2026-5-20, 2026-13-01, 26-05-20
7. हेक्साडेसिमल कलर कोड
CSS हेक्साडेसिमल रंग
यह पैटर्न CSS हेक्साडेसिमल रंग कोड से मिलान करता है, जिसमें 3-अंकीय शॉर्टहैंड (#fff) और 6-अंकीय पूर्ण रूप (#ffffff) दोनों शामिल हैं। {1,2} क्वांटिफ़ायर दोनों प्रारूपों का समर्थन करते हुए 3-अंकीय हेक्स समूहों की 1 या 2 पुनरावृत्ति की अनुमति देता है।
मिलान: #fff, #FF5733, #1e293b
अमिलान: fff, #ff, #1234567
8. Slug / URL सुरक्षित स्ट्रिंग
URL Slug पैटर्न
यह पैटर्न URL slug को सत्यापित करता है: हाइफ़न-विभाजित लोअरकेस अल्फ़ान्यूमेरिक स्ट्रिंग। यह सुनिश्चित करता है कि कोई अग्रणी या अनुगामी हाइफ़न न हो, और कोई लगातार हाइफ़न न हो। यह प्रारूप SEO-अनुकूल है और URL, फ़ाइल नाम और पहचानकर्ताओं के लिए सुरक्षित है।
मिलान: my-blog-post, regex-patterns-guide, tool123
अमिलान: My-Post, -slug, slug-, my--post
9. क्रेडिट कार्ड नंबर
सामान्य क्रेडिट कार्ड पैटर्न
यह पैटर्न प्रमुख क्रेडिट कार्ड नंबरों को सत्यापित करता है: Visa (4 से शुरू, 13 या 16 अंक), Mastercard (51-55 से शुरू, 16 अंक), American Express (34 या 37 से शुरू, 15 अंक), और Discover (6011 या 65 से शुरू, 16 अंक)। पूर्ण सत्यापन के लिए इसे Luhn एल्गोरिथम के साथ संयोजित करें।
10. HTML टैग मिलान
HTML टैग निष्कर्षण
यह पैटर्न सामग्री के साथ खुलने और बंद होने वाले HTML टैग से मिलान करता है। पहला कैप्चर समूह ([a-z][a-z0-9]*) टैग नाम कैप्चर करता है, और बैकरेफ़रेंस \1 सुनिश्चित करता है कि बंद करने वाला टैग खुलने वाले टैग से मेल खाता है। (.*?) सबसे छोटे मिलान के लिए आलसी मिलान का उपयोग करके टैग के बीच की सामग्री को कैप्चर करता है।
बेहतर Regex लिखने की युक्तियाँ
- सरल से शुरू करें: पहले सबसे बुनियादी पैटर्न संस्करण लिखें, फिर धीरे-धीरे जटिलता बढ़ाएँ। प्रत्येक चरण पर परीक्षण करें।
- कैरेक्टर क्लास का उपयोग करें: [a-z] (a|b|c|...|z) से अधिक स्पष्ट है। \d, \w और \s जैसे नामित क्लास पठनीयता में सुधार करते हैं।
- आलसी क्वांटिफ़ायर को प्राथमिकता दें: जब आपको सबसे छोटा मिलान चाहिए, तो लालची ओवर-मैचिंग से बचने के लिए * और + के बजाय *? और +? का उपयोग करें।
- एंकर का उपयोग करें: सत्यापन पैटर्न के लिए हमेशा ^ और $ का उपयोग करें ताकि सुनिश्चित हो कि पूरा स्ट्रिंग मिलान हो, न कि केवल उप-स्ट्रिंग।
- विनाशकारी बैकट्रैकिंग से बचें: (a+)+ जैसे नेस्टेड क्वांटिफ़ायर कुछ इनपुट के लिए एक्सपोनेंशियल टाइम कॉम्प्लेक्सिटी का कारण बन सकते हैं। उपलब्ध होने पर एटॉमिक समूह या पज़ेसिव क्वांटिफ़ायर का उपयोग करें।
- जटिल पैटर्न पर टिप्पणी करें: जटिल पैटर्न में व्हाइटस्पेस और टिप्पणियाँ जोड़ने के लिए x फ़्लैग (वर्बोज़ मोड) का उपयोग करें।
इन Regex पैटर्न का इंटरैक्टिव परीक्षण करना चाहते हैं? हमारा मुफ़्त Regex परीक्षक टूल आज़माएँ, जो वास्तविक समय मिलान, कैप्चर समूह विज़ुअलाइज़ेशन और पैटर्न व्याख्या का समर्थन करता है।
Regex का परीक्षण करेंअक्सर पूछे जाने वाले प्रश्न
रेगुलर एक्सप्रेशन पैटर्न क्या है?
Regex पैटर्न एक वर्ण अनुक्रम है जो खोज पैटर्न को परिभाषित करता है। इसका उपयोग स्ट्रिंग मिलान, सत्यापन, खोज-प्रतिस्थापन संचालन और टेक्स्ट पार्सिंग के लिए किया जाता है। Regex पैटर्न लचीले मिलान नियमों को परिभाषित करने के लिए ., *, +, ?, [], () और {} जैसे विशेष मेटा-वर्णों का उपयोग करते हैं।
क्या मुझे Regex से ईमेल सत्यापित करना चाहिए?
Regex का उपयोग करके बुनियादी ईमेल प्रारूप सत्यापन करें (@ प्रतीक, डोमेन नाम संरचना की जाँच करें), लेकिन केवल Regex से ईमेल पते को पूरी तरह से सत्यापित करने का प्रयास न करें। ईमेल विनिर्देश (RFC 5322) अत्यंत जटिल है, और कोई भी Regex सभी मान्य पतों से पूरी तरह मिलान नहीं कर सकता। उत्पादन में, बुनियादी Regex सत्यापन को वास्तविक ईमेल सत्यापन (पुष्टिकरण लिंक भेजना) के साथ संयोजित करें।
लालची और आलसी क्वांटिफ़ायर में क्या अंतर है?
लालची क्वांटिफ़ायर (*, +) जितना संभव हो उतना टेक्स्ट मिलान करते हैं, जबकि आलसी क्वांटिफ़ायर (*?, +?) जितना संभव हो कम टेक्स्ट मिलान करते हैं। उदाहरण के लिए, 'aabb' पर लागू होने पर, लालची a.*b 'aabb' (पूरी स्ट्रिंग) से मिलान करता है, जबकि आलसी a.*?b केवल 'aab' (सबसे छोटा मिलान) से मिलान करता है।
Regex पैटर्न का परीक्षण कैसे करें?
ऑनलाइन Regex परीक्षण टूल (जैसे ToolHub Regex परीक्षक) का उपयोग करके इंटरैक्टिव रूप से पैटर्न का परीक्षण करें। ये टूल वास्तविक समय में मिलान को हाइलाइट करते हैं, कैप्चर समूह दिखाते हैं, और पैटर्न के प्रत्येक भाग का कार्य समझाते हैं।
क्या विभिन्न प्रोग्रामिंग भाषाओं में रेगुलर एक्सप्रेशन समान होते हैं?
अधिकांश Regex सिंटैक्स भाषाओं में साझा है, लेकिन उन्नत सुविधाओं में अंतर हैं। JavaScript पुराने इंजनों में लुकबिहाइंड एसर्शन का समर्थन नहीं करता, Python JavaScript से भिन्न नामित समूह सिंटैक्स का उपयोग करता है, और PCRE (PHP) अधिकांश अन्य इंजनों की तुलना में अधिक सुविधाओं का समर्थन करता है। लक्ष्य भाषा में पैटर्न का परीक्षण करना सुनिश्चित करें।