🌐English

Regex टेस्टर और डिबगर

रियल टेक्स्ट पर रेगुलर एक्सप्रेशन टेस्ट करें और टाइप करते ही हर मैच, कैप्चर ग्रुप, और नेम्ड ग्रुप देखें। अमान्य पैटर्न चुपचाप फेल होने के बजाय सटीक JavaScript एरर दिखाते हैं। पूरी तरह आपके ब्राउज़र में चलता है।

आखिरी अपडेट: 2026-08-30

पैटर्न

g सभी मैच · i केस इग्नोर करें · m ^$ हर लाइन मैच करता है · s डॉट न्यूलाइन मैच करता है · u यूनिकोड · y स्टिकी

क्विक प्रीसेट

रिज़ल्ट

3 मैच

Invoice dated 2026-01-30, due 2026-02-28. Renewal falls on 2027-11-02.
#मैचस्पैनग्रुप्स
12026-01-301424
1: 2026
2: 01
3: 30
year: 2026
month: 01
day: 30
22026-02-283040
1: 2026
2: 02
3: 28
year: 2026
month: 02
day: 28
32027-11-025969
1: 2027
2: 11
3: 02
year: 2027
month: 11
day: 02

मुख्य विशेषताएं

  • लाइव मैचिंग: टाइप करते ही रिज़ल्ट अपडेट होते हैं — कोई बटन दबाने की, कोई राउंड ट्रिप की ज़रूरत नहीं।
  • वास्तविक एरर मैसेज: अमान्य पैटर्न वास्तविक JavaScript इंजन एरर दिखाता है, ताकि आप अनुमान लगाने के बजाय ठीक-ठीक देख सकें कि यह क्यों फेल हुआ।
  • कैप्चर और नेम्ड ग्रुप: हर मैच अपने नंबर्ड ग्रुप और किसी भी (?<name>...) नेम्ड ग्रुप को अलग से लिस्ट करता है।
  • मैच पोज़िशन: हर रिज़ल्ट सब्जेक्ट टेक्स्ट में अपना सटीक स्टार्ट और एंड इंडेक्स दिखाता है।
  • रिप्लेसमेंट प्रीव्यू: कमिट करने से पहले $1 और $<name> रेफ़रेंस के साथ String.replace() का रिज़ल्ट देखें।
  • पूरी तरह प्राइवेट: पैटर्न और आपका टेस्ट टेक्स्ट कभी हमारे सर्वर पर अपलोड नहीं होते।

इस Regex टेस्टर का उपयोग कैसे करें

  1. Pattern फ़ील्ड में अपना रेगुलर एक्सप्रेशन टाइप या पेस्ट करें। चारों ओर के स्लैश छोड़ दें — सिर्फ़ एक्सप्रेशन ही।
  2. अपने फ़्लैग्स सेट करें। सिर्फ़ पहले के बजाय हर मैच खोजने के लिए g उपयोग करें, और केस-इनसेंसिटिव मैचिंग के लिए i
  3. Test string बॉक्स में वह टेक्स्ट पेस्ट करें जिससे आप मैच करना चाहते हैं।
  4. हाइलाइट किया गया आउटपुट पढ़ें। मैच किए गए स्पैन शेड किए जाते हैं, और नीचे की टेबल हर मैच को उसकी पोज़िशन और कैप्चर किए गए ग्रुप के साथ लिस्ट करती है।
  5. अपने खुद के कोड में चलाने से पहले find-and-replace प्रीव्यू करने के लिए वैकल्पिक रूप से एक replacement स्ट्रिंग जोड़ें।

रेगुलर एक्सप्रेशन को पढ़ने के बजाय टेस्ट क्यों करें?

रेगुलर एक्सप्रेशन में असामान्य रूप से आसानी से सूक्ष्म गलतियां हो जाती हैं। एक पैटर्न पूरी तरह सही दिख सकता है, बिना किसी शिकायत के कंपाइल हो सकता है, और फिर भी गलत चीज़ मैच कर सकता है — या कुछ भी नहीं। Greedy बनाम lazy क्वांटिफायर बदलते हैं कि .* क्या कैप्चर करता है। ब्रैकेट जोड़ते ही ग्रुप नंबरिंग शिफ़्ट हो जाती है। एक अनएस्केप्ड डॉट चुपचाप हर कैरेक्टर मैच कर लेता है, न कि केवल एक literal फ़ुल स्टॉप। इनमें से कोई भी एरर नहीं देता; ये ऐसा पैटर्न बनाते हैं जो आपके तीन टेस्ट इनपुट पर काम करता है और चौथे पर फेल हो जाता है।

इसीलिए किसी पैटर्न के बारे में सोचने से बेहतर है उसे रियल टेक्स्ट पर चलाना। असली मैच किए गए स्पैन, असली ग्रुप कंटेंट, और असली गिनती देखना सेकंडों में बता देता है जो सावधानीपूर्वक पढ़ना अक्सर गलत समझ लेता है। किसी और का लिखा हुआ regex समझने का यह सबसे तेज़ तरीका भी है: इसे एक प्रतिनिधि सैंपल के साथ पेस्ट करें और देखें यह क्या चुनता है।

यह टेस्टर आपके ब्राउज़र के अपने JavaScript इंजन पर चलता है, यानी यहां जो व्यवहार आप देखते हैं वही व्यवहार आपको Node.js में या फ्रंट-एंड कोड में मिलेगा — वही इंजन, वही सेमांटिक्स, कोई ट्रांसलेशन लेयर नहीं। क्योंकि सब कुछ लोकल है, आप लॉग लाइनों, कस्टमर रिकॉर्ड, या किसी भी ऐसी चीज़ के खिलाफ़ पैटर्न सुरक्षित रूप से टेस्ट कर सकते हैं जिसे आप किसी होस्टेड सर्विस में पेस्ट नहीं करना चाहते।

अक्सर पूछे जाने वाले प्रश्न

क्या मेरा पैटर्न या टेस्ट डेटा कहीं भेजा जाता है?

नहीं। मैचिंग पूरी तरह आपके ब्राउज़र में नेटिव RegExp इंजन उपयोग करके चलती है। कुछ भी अपलोड, लॉग, या स्टोर नहीं होता, इसलिए प्रोडक्शन लॉग सैंपल या संवेदनशील स्ट्रिंग के खिलाफ़ टेस्ट करना सुरक्षित है।

यह किस regex फ़्लेवर का उपयोग करता है?

JavaScript (ECMAScript), क्योंकि यह आपके ब्राउज़र के बिल्ट-इन इंजन पर चलता है। यह इसे JavaScript और TypeScript काम के लिए सटीक बनाता है। Python, PCRE, Go, और Java कुछ जगहों पर अलग हैं — सबसे स्पष्ट रूप से नेम्ड-ग्रुप सिंटैक्स, lookbehind सपोर्ट, और \d\w यूनिकोड-अवेयर हैं या नहीं, में।

मेरा पैटर्न केवल पहला मैच ही क्यों खोजता है?

आपके पास g (global) फ़्लैग नहीं है। इसके बिना, JavaScript पहले मैच के बाद रुक जाता है। फ़्लैग्स फ़ील्ड में g जोड़ें और हर मैच हाइलाइट हो जाएगा।

मैं नेम्ड कैप्चर ग्रुप कैसे उपयोग करूं?

उन्हें (?<name>...) के रूप में लिखें, उदाहरण के लिए (?<year>\d{4})। नेम्ड ग्रुप Groups कॉलम में नाम से दिखते हैं, और रिप्लेसमेंट स्ट्रिंग में $<name> के रूप में रेफ़र किए जा सकते हैं।

"Invalid regular expression" का क्या मतलब है?

पैटर्न बिल्कुल भी कंपाइल नहीं हो सका। सबसे आम कारण हैं एक अनक्लोज़्ड ग्रुप या कैरेक्टर क्लास, * या + जैसा क्वांटिफायर जिसके पहले कुछ न हो, या अंत में एक अटका हुआ बैकस्लैश। सटीक इंजन एरर दिखाया जाता है ताकि आप इसे पहचान सकें।

क्या रेगुलर एक्सप्रेशन धीमा या खतरनाक हो सकता है?

हां। (a+)+ जैसे नेस्टेड क्वांटिफायर वाले पैटर्न कुछ इनपुट पर एक्सपोनेंशियल समय ले सकते हैं, एक समस्या जिसे catastrophic backtracking या ReDoS कहा जाता है। यदि इस तरह का पैटर्न टाइप करते समय पेज अनरेस्पॉन्सिव हो जाए, तो नेस्टिंग को सरल बनाएं — आमतौर पर दो क्वांटिफायर में से एक redundant होता है।

क्या यह ऑफ़लाइन काम करता है?

हां। पेज लोड होने के बाद आप पूरी तरह डिस्कनेक्ट हो सकते हैं और पैटर्न टेस्ट करते रह सकते हैं, क्योंकि कोई नेटवर्क रिक्वेस्ट शामिल नहीं है।

क्या टेक्स्ट की मात्रा पर कोई सीमा है?

कोई हार्ड कैप नहीं है, लेकिन मैचिंग मुख्य थ्रेड पर होती है, इसलिए बहुत बड़े इनपुट के साथ एक जटिल पैटर्न पेज को थोड़ी देर के लिए फ़्रीज़ कर सकता है। बहुत बड़ी फ़ाइलों के लिए, पहले एक प्रतिनिधि सैंपल पर टेस्ट करें।