ऑनलाइन मुफ़्त में रेगुलर एक्सप्रेशन टेस्ट और डीबग कैसे करें (2026 गाइड)
रेगुलर एक्सप्रेशन — संक्षेप में regex — उन कौशलों में से एक है जो तब तक गुप्त कोड जैसे दिखते हैं जब तक आपको उनकी ज़रूरत नहीं पड़ती, और फिर अचानक वे आपके मैन्युअल संपादन का एक घंटा बचा देते हैं। regex एक छोटा पैटर्न है जो टेक्स्ट का वर्णन करता है: "इस दस्तावेज़ में हर ईमेल पता ढूँढें," "जाँचें कि इस पासवर्ड में कोई संख्या है," या "एक तरह से लिखी हर तारीख़ को दूसरी तरह से बदलें।" समस्या यह है कि लगभग सही regex बिल्कुल सही regex जैसा ही दिखता है — जब तक वह ग़लत लाइनें हटा न दे या अमान्य इनपुट स्वीकार न कर ले। इसीलिए आपको कभी भी regex आँख बंद करके नहीं लिखना चाहिए। यह गाइड दिखाती है कि अपने ब्राउज़र में मुफ़्त टेस्टर से पैटर्न को सुरक्षित रूप से कैसे बनाएँ, टेस्ट करें और डीबग करें, जिसे न साइनअप चाहिए, न इंस्टॉल।
रेगुलर एक्सप्रेशन असल में क्या है
regex एक पैटर्न है, जो एक कॉम्पैक्ट भाषा में लिखा जाता है, जिसे कंप्यूटर टेक्स्ट से मिलाता है। कुछ निर्माण खंड ज़्यादातर चीज़ों को समझाते हैं जिनका आप कभी इस्तेमाल करेंगे:
- शाब्दिक कैरेक्टर ख़ुद से मेल खाते हैं: पैटर्न
catकिसी भी टेक्स्ट में "cat" से मेल खाता है। .लाइन ब्रेक को छोड़कर किसी भी एक कैरेक्टर से मेल खाता है।- कैरेक्टर क्लास जैसे
[0-9]किसी सेट से एक कैरेक्टर से मेल खाते हैं — यहाँ, कोई भी अंक। शॉर्टहैंड मदद करते हैं:\dका मतलब कोई भी अंक है,\wका मतलब शब्द कैरेक्टर (अक्षर, अंक, अंडरस्कोर) है, और\sका मतलब व्हाइटस्पेस है। - क्वांटिफ़ायर बताते हैं कि कुछ कितनी बार दोहराया जा सकता है:
*का मतलब शून्य या अधिक,+का मतलब एक या अधिक,?का मतलब शून्य या एक, और{3}का मतलब ठीक तीन बार। - एंकर मैच को किसी स्थिति से जोड़ते हैं:
^का मतलब टेक्स्ट (या लाइन) की शुरुआत है, और$का मतलब अंत है। - ग्रुप कोष्ठक में, जैसे
(\d+), मैच के हिस्से को कैप्चर करते हैं ताकि आप उसे दोबारा इस्तेमाल कर सकें — उदाहरण के लिए, टेक्स्ट बदलते समय।
एक साथ रखकर, ^\d{4}-\d{2}-\d{2}$ जैसा पैटर्न कहता है: "पूरे टेक्स्ट में चार अंक, एक डैश, दो अंक, एक डैश, और दो अंक होने चाहिए" — 2026-10-26 रूप में तारीख़। इसे बाएँ से दाएँ, टुकड़े-टुकड़े पढ़ना ही पूरा कौशल है। लंबे पैटर्न कोई याद नहीं रखता; सब उन्हें छोटे टुकड़ों से बनाते हैं और हर टुकड़े को टेस्ट करते हैं।
चरण 1: पैटर्न से नहीं, वास्तविक उदाहरणों से शुरुआत करें
सबसे आम regex ग़लती पैटर्न पहले लिखना और बाद में टेस्ट डेटा गढ़ना है। क्रम उल्टा करें:
- 5–10 वास्तविक उदाहरण इकट्ठा करें — ऐसे टेक्स्ट जिनसे आपका पैटर्न मेल खाना ही चाहिए — वास्तविक ईमेल पते, वास्तविक तारीख़ें, आपके असली डेटा से वास्तविक प्रोडक्ट कोड।
- 3–5 उदाहरण इकट्ठा करें जिनसे मेल नहीं खाना चाहिए। यही वह कदम है जिसे लोग छोड़ देते हैं, और यही वह है जो ज़रूरत से ज़्यादा व्यापक पैटर्न पकड़ता है। ईमेल पतों का पैटर्न "not-an-email" और "user@" को अस्वीकार करना ही चाहिए; तारीख़ों का पैटर्न "2026-13-45" को अस्वीकार करना ही चाहिए।
- उन्हें टेस्टर में अपनी टेस्ट स्ट्रिंग के रूप में पेस्ट करें, हर एक अलग लाइन में, ताकि हर उदाहरण एक साथ दिखे।
Regex टेस्टर खोलें और अपने उदाहरण टेस्ट टेक्स्ट क्षेत्र में रखें। अब पैटर्न में हर बदलाव सभी उदाहरणों पर अपना प्रभाव तुरंत दिखाता है — मैच चमक उठते हैं, गैर-मैच अंधेरे रहते हैं। वह लाइव फ़ीडबैक लूप ही पूरी डीबगिंग विधि है: एक छोटा टुकड़ा बदलें, सभी उदाहरण देखें, दोहराएँ।
चरण 2: पैटर्न को टुकड़े-टुकड़े बनाएँ
पूरा पैटर्न एक बार में लिखने की कोशिश न करें। इसे चरणों में बनाएँ, हर चरण के बाद टेस्ट करते हुए:
- पहले एक उदाहरण से मेल खाएँ। अगर आपको 0300-1234567 जैसे फ़ोन नंबरों से मेल खाना है, तो
\d+से शुरुआत करें और पुष्टि करें कि यह अंकों से मेल खाता है। फिर डैश जोड़ें:\d+-\d+। फिर लंबाई कसें:\d{4}-\d{7}। - एंकर तभी जोड़ें जब आपका मतलब "पूरी चीज़" हो।
^और$के बिना, पैटर्न टेक्स्ट के अंदर कहीं भी मेल खाता है — खोज के लिए उपयोगी, सत्यापन के लिए ख़तरनाक। सत्यापन पैटर्न (उदाहरण के लिए फ़ॉर्म फ़ील्ड के लिए) को लगभग हमेशा दोनों एंकर चाहिए होते हैं। - हर चरण के बाद नकारात्मक उदाहरण टेस्ट करें। जिस क्षण कोई "मेल नहीं खाना चाहिए" वाला उदाहरण चमक उठे, आपको ठीक पता चल गया है कि कौन-सा टुकड़ा बहुत व्यापक हो गया — और यह आपको पैटर्न और बढ़ने से पहले पता चलता है।
- दोबारा इस्तेमाल होने वाले हिस्सों के लिए ग्रुप इस्तेमाल करें। अगर आप तारीख़ों को 26/10/2026 से 2026-10-26 में सुधारने की योजना बना रहे हैं, तो दिन, महीना और साल को तीन ग्रुप के रूप में कैप्चर करें —
(\d{2})/(\d{2})/(\d{4})— ताकि प्रतिस्थापन हर हिस्से को अलग-अलग संदर्भित कर सके।
यह चरणबद्ध तरीका पहले पैटर्न के लिए धीमा लगता है और उसके बाद के हर पैटर्न के लिए तेज़ होता है, क्योंकि आप तैयार राक्षसों को डीबग करना बंद करके टेस्ट किए हुए टुकड़ों को जोड़ना शुरू कर देते हैं।
चरण 3: सिर्फ़ मैच गिनती नहीं, मैच को पढ़ें
सिर्फ़ "3 मैच मिले" बताने वाला टेस्टर सबसे उपयोगी जानकारी छिपाता है। देखें कि असल में क्या मैच हुआ, कैरेक्टर-दर-कैरेक्टर:
- क्या मैच पूरी चीज़ है, या सबस्ट्रिंग? "शब्दों" का पैटर्न जो लंबे शब्द के सिर्फ़ पहले तीन अक्षरों से मेल खाता है, उस तरह से ग़लत है जिसे गिनती नहीं बताएगी।
- क्या यह ख़ाली स्ट्रिंग से मैच हुआ?
*वाले पैटर्न हर स्थिति में कुछ भी नहीं से मैच कर सकते हैं — भ्रमित करने वाले परिणामों और अनंत-से दिखने वाले आउटपुट का क्लासिक स्रोत। - क्या ग्रुप वह कैप्चर कर रहे हैं जिसकी आप उम्मीद करते हैं? प्रतिस्थापन में इस्तेमाल करने से पहले हर ग्रुप के कैप्चर किए टेक्स्ट की जाँच करें; एक ग्रुप जो एक कैरेक्टर पहले शुरू होता है, हर प्रतिस्थापन को भ्रष्ट कर देगा जिसे वह छूता है।
- क्या यह हर लाइन पर एक जैसा व्यवहार करता है? मल्टी-लाइन इनपुट से टेस्ट करें। एक लाइन पर काम करने वाला पैटर्न अगली लाइन पर लाइन ब्रेक, पीछे के स्पेस, या असली डेटा के बीच में अलग फ़ॉर्मेट के कारण फ़ेल हो सकता है।
अगर कोई मैच आपको चौंकाता है, तो टेस्ट स्ट्रिंग को सबसे छोटे उदाहरण तक सिकोड़ें जो फिर भी चौंकाता है। दस लाइन का इनपुट जो ग़लत व्यवहार करता है, उस पर तर्क करना मुश्किल है; एक लाइन जो ग़लत व्यवहार करती है, ठीक बताती है कि कहाँ देखना है।
पाँच ग़लतियाँ जो सब करते हैं (और हर एक का समाधान)
- विशेष कैरेक्टरों को एस्केप करना भूलना।
.,+,(और?जैसे कैरेक्टरों का regex में विशेष अर्थ होता है। "example.com" में शाब्दिक बिंदु से मेल खाने के लिए\.लिखें,.नहीं — वरना बिंदु किसी भी कैरेक्टर से मेल खाएगा, उन कैरेक्टरों सहित जिनका आपने कभी इरादा नहीं किया था। - लालची मैचिंग का बहुत ज़्यादा खाना। डिफ़ॉल्ट रूप से,
.*जितना संभव हो उतना मैच करता है। "<b>bold</b>" पर लगाया गया<.*>जैसा पैटर्न सिर्फ़ पहले टैग से नहीं, पूरी स्ट्रिंग से मेल खाता है।?जोड़कर इसे आलसी बनाएँ —<.*?>— और यह पहले समापन टैग पर रुक जाता है। - सत्यापन पैटर्न पर एंकर न होना। चार अंकों वाले कोड के लिए
\d{4}के रूप में लिखा गया फ़ॉर्म जाँच "abc1234xyz" को ख़ुशी से स्वीकार कर लेता है, क्योंकि अंक अंदर कहीं दिखते हैं। एंकर —^\d{4}$— ही "शामिल है" को "बिल्कुल यही है" में बदलते हैं। - बहुत उदार कैरेक्टर क्लास।
[A-Za-z]+तब तक सुरक्षित दिखता है जब तक वह संख्या-रहित लेकिन अन्यथा अमान्य फ़ॉर्मेट वाला नाम स्वीकार न कर ले, या उपयोगकर्ता नामों का पैटर्न स्पेस स्वीकार न कर ले क्योंकि\wको "कोई भी कैरेक्टर" समझ लिया गया था। हर क्लास को अपने नकारात्मक उदाहरणों से जाँचें। - सिर्फ़ हैप्पी पाथ टेस्ट करना। तीन परफ़ेक्ट उदाहरणों पर टेस्ट किया गया और शून्य अपूर्ण उदाहरणों पर टेस्ट किया गया पैटर्न अनटेस्टेड है। ख़ाली स्ट्रिंग, अतिरिक्त स्पेस, ग़ायब हिस्से, और मिश्रित फ़ॉर्मेट — वही इनपुट हैं जो असली उपयोगकर्ता और असली डेटा असल में रखते हैं — उन्हें सबसे पहले टेस्ट करें, सबसे बाद में नहीं।
तीन व्यावहारिक पैटर्न, लाइव बनाए गए
अपने ख़ुद के उदाहरणों के साथ Regex टेस्टर में इन्हें आज़माएँ:
- ईमेल जाँच (बुनियादी):
^[\w.]+@[\w]+\.[a-z]{2,}$— एक या अधिक शब्द कैरेक्टर या बिंदु, @ चिह्न, डोमेन, बिंदु, और कम से कम दो अक्षरों वाला डोमेन अंत। यह समझदारी की जाँच है, पूर्ण ईमेल सत्यापनकर्ता नहीं — असली ईमेल नियम कहीं ज़्यादा जटिल हैं, और उत्पादन सत्यापन के लिए समर्पित लाइब्रेरी किसी भी एक पैटर्न से बेहतर है। - टेक्स्ट में सभी संख्याएँ ढूँढें:
\d+(\.\d+)?— पूर्ण संख्याएँ और दशमलव, गंदे टेक्स्ट से कीमतें या माप निकालने के लिए उपयोगी, इससे पहले कि आप उन्हें कैलकुलेटर में पेस्ट करें। - अतिरिक्त स्पेस साफ़ करें: पहले
\s+पैटर्न से दोहराए गए स्पेस को एक स्पेस से बदलकर सिकोड़ें, फिर परिणाम को वर्ड काउंटर से जाँचें कि टेक्स्ट लंबाई आपकी उम्मीद के अनुसार बदली है।
टेस्टर को अन्य मुफ़्त टूल्स के साथ जोड़ना
regex का काम शायद ही कभी अकेला होता है। कुछ मुफ़्त इन-ब्राउज़र टूल वर्कफ़्लो को पूरा करते हैं:
- पहले गंदा इनपुट तैयार करें: टेस्ट करने से पहले पेस्ट किए गए टेक्स्ट को व्हाइटस्पेस रिमूवर से गुज़ारें ताकि आवारा स्पेस और ख़ाली लाइनें हट जाएँ, ताकि आपके पैटर्न का मूल्यांकन असली सामग्री पर हो, फ़ॉर्मेटिंग शोर पर नहीं।
- लंबाई और गिनती जाँचें: खोज-और-बदल के बाद, कहीं भी इस्तेमाल करने से पहले साफ़ किए गए टेक्स्ट को सत्यापित करने के लिए वर्ड काउंटर या केस कनवर्टर इस्तेमाल करें।
- टेस्ट डेटा बनाएँ: टेस्ट के लिए दस नमूना नाम, संख्याएँ या वाक्य चाहिए? Lorem Ipsum जनरेटर सेकंडों में वास्तविक फ़िलर टेक्स्ट देता है।
- पैटर्न सुरक्षित रखें: regex पैटर्न कोड हैं। काम करने वाले पैटर्न को सादे टेक्स्ट नोट में सहेजें, हर एक के साथ एक उदाहरण कि वह किससे मेल खाता है और किससे अस्वीकार करता है — भविष्य का आप आभारी होगा, और पैटर्न विरासत में पाने वाला भी।
अक्सर पूछे जाने वाले प्रश्न
क्या regex टेस्ट करने के लिए कुछ इंस्टॉल करना ज़रूरी है?
नहीं। Regex टेस्टर पूरी तरह आपके ब्राउज़र में चलता है — बिना साइनअप, बिना इंस्टॉल के, और आपका टेस्ट टेक्स्ट कभी आपके डिवाइस से बाहर नहीं जाता। वह अंतिम बिंदु मायने रखता है: कभी भी पासवर्ड, निजी ग्राहक डेटा, या गोपनीय दस्तावेज़ किसी यादृच्छिक ऑनलाइन टेस्टर में पेस्ट न करें। ब्राउज़र-ओनली टूल आपका टेस्ट डेटा आपकी अपनी मशीन पर रखता है।
मेरा पैटर्न टेस्टर में काम क्यों करता है लेकिन मेरे कोड में नहीं?
अलग-अलग प्रोग्रामिंग भाषाओं में regex के स्वाद थोड़े अलग होते हैं — एस्केपिंग नियम, लाइन-एंकर व्यवहार, और समर्थित सुविधाएँ अलग-अलग होती हैं। जाँचें कि क्या आपकी भाषा को डबल एस्केपिंग चाहिए (कई भाषाओं में, उद्धृत स्ट्रिंग के अंदर बैकस्लैश को दो बार लिखना होता है), और शिप करने से पहले पैटर्न को अपनी भाषा के अपने टेस्टर या छोटी स्क्रिप्ट में टेस्ट करें।
क्या हर टेक्स्ट समस्या के लिए regex सही टूल है?
नहीं — और यह जानना कि कब इसका इस्तेमाल न करें, कौशल का हिस्सा है। HTML, संरचित डेटा फ़ॉर्मेट, या पूर्ण ईमेल सत्यापन को पार्स करने के लिए, समर्पित पार्सर और लाइब्रेरी सुरक्षित और ज़्यादा पठनीय हैं। regex खोजने, सरल फ़ॉर्मेट सत्यापित करने, और टेक्स्ट साफ़ करने में चमकता है — और तब दायित्व बन जाता है जब पैटर्न उसकी व्याख्या से लंबा हो जाए कि वह क्या करता है।
मैं regex में बेहतर कैसे बनूँ?
उसी तरह जैसे यहाँ: छोटे पैटर्न, वास्तविक उदाहरण, लाइव टेस्टिंग। हर पैटर्न जिसे आप बनाते और डीबग करते हैं, भाषा का थोड़ा और सिखाता है, और कुछ हफ़्तों में वे पैटर्न जो कभी गुप्त कोड जैसे दिखते थे, साधारण वाक्यों जैसे पढ़ने लगते हैं।
अभी शुरू करें: Regex टेस्टर खोलें, अपने ख़ुद के वास्तविक टेक्स्ट की तीन लाइनें पेस्ट करें, और एक छोटा पैटर्न बनाएँ जो ठीक उसी से मेल खाए जो आप चाहते हैं — और उससे कुछ भी नहीं जो आप नहीं चाहते।