रेगेक्स टेस्टर

अपने ब्राउज़र में तुरंत JavaScript रेगुलर एक्सप्रेशन टेस्ट करें।

पैटर्न
फ्लैग्स
टेस्ट स्ट्रिंग
हाइलाइट किए गए मैच
टेस्ट करने के लिए एक पैटर्न डालें।

आपका पैटर्न और टेक्स्ट आपके ब्राउज़र में टेस्ट होता है, BroBroGo पर अपलोड नहीं होता।

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

क्या यहां टेक्स्ट पेस्ट करना सुरक्षित है?

हां, मैचिंग पूरी तरह आपके ब्राउज़र में होती है — कुछ भी BroBroGo को नहीं भेजा जाता।

g/i/m/s फ्लैग्स का क्या मतलब है?

g सिर्फ पहला नहीं, हर मैच ढूंढता है। i केस इग्नोर करता है। m की वजह से ^ और $ पूरी स्ट्रिंग की जगह हर लाइन के शुरू-आखिर में मैच करते हैं। s की वजह से . लाइन ब्रेक को भी मैच कर लेता है।

यह क्यों कहता है कि मेरा पैटर्न बहुत टाइम ले रहा है?

कुछ पैटर्न कैटास्ट्रोफ़िक बैकट्रैकिंग ट्रिगर कर देते हैं — इंजन हार मानने से पहले एक्सपोनेंशियल कॉम्बिनेशन आज़माता है, जिससे ब्राउज़र टैब फ़्रीज़ हो सकता है। यह टूल 2 सेकंड में परिणाम न मिलने पर मैचिंग रद्द कर देता है, ताकि पृष्ठ न अटके। नेस्टेड रिपिटीशन जैसे (a+)+ को सरल करने की कोशिश करें।

JavaScript रेगुलर एक्सप्रेशन का परीक्षण और विश्लेषण

रेगुलर एक्सप्रेशन (Regex) टेक्स्ट के भीतर विशिष्ट पैटर्न खोजने, उन्हें बदलने या डेटा को सत्यापित करने का एक शक्तिशाली साधन हैं। वेब डेवलपमेंट और सामान्य प्रोग्रामिंग में इनका उपयोग इनपुट वैलिडेशन, सर्च-एंड-रिप्लेस ऑपरेशन्स और टेक्स्ट पार्सिंग के लिए बड़े पैमाने पर किया जाता है।

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


इनपुट पैरामीटर और उनका कॉन्फ़िगरेशन

इस टूल में मुख्य रूप से तीन इनपुट विकल्प दिए गए हैं, जिनकी मदद से आप अपने रेगुलर एक्सप्रेशन के व्यवहार को नियंत्रित कर सकते हैं:

  1. पैटर्न: यहाँ आप अपना रेगुलर एक्सप्रेशन लिखते हैं। उदाहरण के लिए, अंकों को खोजने के लिए डिफ़ॉल्ट रूप से \d+ का उपयोग किया जा सकता है।
  2. फ्लैग्स: ये रेगुलर एक्सप्रेशन के सर्च व्यवहार को बदलते हैं। टूल में निम्नलिखित चार फ्लैग्स उपलब्ध हैं:
    • g (ग्लोबल): यह फ्लैग इंजन को केवल पहला मैच ढूंढकर रुकने के बजाय, पूरे टेक्स्ट में मौजूद हर मैच को खोजने का निर्देश देता है।
    • i (केस इनसेंसिटिव): इसे सक्रिय करने पर अंग्रेजी के छोटे (lowercase) और बड़े (uppercase) अक्षरों का अंतर समाप्त हो जाता है।
    • m (मल्टीलाइन): यह फ्लैग ^ और $ एंकरों के व्यवहार को बदल देता है, जिससे वे पूरी स्ट्रिंग के बजाय प्रत्येक व्यक्तिगत लाइन के आरंभ और अंत से मैच कर सकें।
    • s (डॉट मैच न्यूलाइन): सामान्यतः वाइल्डकार्ड वर्ण . लाइन ब्रेक (newline) को मैच नहीं करता है। इस फ्लैग को सक्षम करने पर . न्यूलाइन वर्णों को भी मैच करने लगता है।
  3. टेस्ट स्ट्रिंग: वह टेक्स्ट जिसे आप अपने पैटर्न के विरुद्ध जांचना चाहते हैं। डिफ़ॉल्ट रूप से यहाँ "अपने पैटर्न को टेस्ट करने के लिए टेक्स्ट पेस्ट या टाइप करें" निर्देश दिखाई देता है।

आउटपुट और परिणाम विश्लेषण

जैसे ही आप इनपुट दर्ज करते हैं, टूल तुरंत परिणामों को प्रोसेस करता है और निम्नलिखित आउटपुट प्रदर्शित करता है:

  • हाइलाइट किए गए मैच: टेस्ट स्ट्रिंग के भीतर जितने भी हिस्से पैटर्न से मेल खाते हैं, वे अलग रंग में हाइलाइट हो जाते हैं।
  • मैचेस: सभी परिणामों की एक विस्तृत सूची नीचे दिखाई देती है। यदि आपके पैटर्न में कैप्चरिंग ग्रुप (Parentheses ()) शामिल हैं, तो प्रत्येक मैच के अंतर्गत ग्रुप {n} के रूप में कैप्चर किए गए विशिष्ट सब-स्ट्रिंग्स भी प्रदर्शित होते हैं।
  • मैच: {count}: यह आपके पैटर्न द्वारा खोजे गए कुल मैचों की संख्या को दर्शाता है।
  • वर्ण: यह इनपुट टेक्स्ट में मौजूद कुल कैरेक्टर्स की संख्या को मापता है।

टूल के नियम और सीमाएं

सटीक और सुरक्षित परिणाम सुनिश्चित करने के लिए यह टूल कुछ विशिष्ट नियमों और सीमाओं के तहत काम करता है:

  • कोई मैच न होने पर: यदि इनपुट टेक्स्ट में पैटर्न के अनुसार कोई भी मिलान नहीं मिलता है, तो आउटपुट में "कोई मैच नहीं मिला।" संदेश दिखाई देता है।
  • अवैध सिंटैक्स: यदि आपके द्वारा लिखा गया रेगुलर एक्सप्रेशन सिंटैक्स के नियमों के विरुद्ध है, तो टूल "यह वैध रेगुलर एक्सप्रेशन नहीं है।" त्रुटि प्रदर्शित करेगा।
  • ग्लोबल फ्लैग का प्रभाव: यदि 'g' (ग्लोबल) फ्लैग का चयन नहीं किया गया है, तो टूल केवल पहले मैच को ही खोजेगा और प्रदर्शित करेगा।
  • प्रदर्शन सीमाएं: जब 'g' फ्लैग सक्रिय होता है, तो सिस्टम प्रदर्शन को बनाए रखने के लिए अधिकतम 1,000 मैचों को ही प्रोसेस करता है और अधिकतम 100 मैच कार्ड प्रदर्शित करता है। यदि परिणाम इस सीमा को पार करते हैं, तो "पहले {max} दिखाए जा रहे हैं।" की सूचना दिखाई देती है।
  • डेटा साफ़ करना: आप "साफ़ करें" बटन पर क्लिक करके सभी इनपुट और आउटपुट को हटा सकते हैं, जिसके बाद "साफ़ हो गया।" का संदेश दिखाई देता है।

कैटास्ट्रोफ़िक बैकट्रैकिंग और प्रदर्शन अनुकूलन

रेगुलर एक्सप्रेशन लिखते समय सबसे बड़ी समस्याओं में से एक "कैटास्ट्रोफ़िक बैकट्रैकिंग" (Catastrophic Backtracking) है। यह तब होता है जब किसी पैटर्न में जटिल नेस्टेड रिपिटीशन (जैसे (a+)+) होते हैं और इनपुट टेक्स्ट पैटर्न से थोड़ा अलग होता है। ऐसी स्थिति में, रेगेक्स इंजन हर संभावित संयोजन को आज़माने की कोशिश करता है, जिससे गणना का समय तेजी से (exponentially) बढ़ जाता है और ब्राउज़र टैब पूरी तरह से हैंग या फ्रीज हो सकता है।

इस समस्या से निपटने के लिए, इस टूल में एक सुरक्षा तंत्र लगाया गया है। यदि कोई पैटर्न प्रोसेस होने में 2 सेकंड से अधिक का समय लेता है, तो टूल मिलान प्रक्रिया को स्वतः रद्द कर देता है और यह चेतावनी प्रदर्शित करता है:

"यह पैटर्न बहुत टाइम ले रहा है — शायद कैटास्ट्रोफ़िक बैकट्रैकिंग हो रहा हो। इसे सिंपल करने की कोशिश करें।"

इस समस्या से बचने के लिए अपने पैटर्न्स को हमेशा सरल रखें और अनावश्यक रूप से नेस्टेड क्वांटिफायर्स का उपयोग करने से बचें।


गोपनीयता और डेटा प्रोसेसिंग

इस टूल का उपयोग करते समय आपकी गोपनीयता पूरी तरह सुरक्षित रहती है। आपका पैटर्न और टेस्ट स्ट्रिंग पूरी तरह से आपके स्थानीय वेब ब्राउज़र के भीतर ही प्रोसेस किए जाते हैं। कोई भी डेटा या टेक्स्ट BroBroGo के सर्वर पर अपलोड नहीं किया जाता है।


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

क्या यहां टेक्स्ट पेस्ट करना सुरक्षित है?
हां, मैचिंग पूरी तरह आपके ब्राउज़र में होती है — कुछ भी BroBroGo को नहीं भेजा जाता।

g/i/m/s फ्लैग्स का क्या मतलब है?
g सिर्फ पहला नहीं, हर मैच ढूंढता है। i केस इग्नोर करता है। m की वजह से ^ और $ पूरी स्ट्रिंग की जगह हर लाइन के शुरू-आखिर में मैच करते हैं। s की वजह से. लाइन ब्रेक को भी मैच कर लेता है।

यह क्यों कहता है कि मेरा पैटर्न बहुत टाइम ले रहा है?
कुछ पैटर्न कैटास्ट्रोफ़िक बैकट्रैकिंग ट्रिगर कर देते हैं — इंजन हार मानने से पहले एक्सपोनेंशियल कॉम्बिनेशन आज़माता है, जिससे ब्राउज़र टैब फ़्रीज़ हो सकता है। यह टूल 2 सेकंड में परिणाम न मिलने पर मैचिंग रद्द कर देता है, ताकि पृष्ठ न अटके। नेस्टेड रिपिटीशन जैसे (a+)+ को सरल करने की कोशिश करें।