Regex टेस्टर

ब्राउज़र में चलता है यूटिलिटीज़

JavaScript रेगुलर एक्सप्रेशन लिखें, फ़्लैग (g, i, m, s, u, y) टॉगल करें और हर मैच, नामित व नंबर वाले ग्रुप, इंडेक्स तथा रिप्लेसमेंट प्रीव्यू तुरंत देखें। साथ में टोकन की एक त्वरित संदर्भ सूची भी शामिल है।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

Regex टेस्टर कैसे इस्तेमाल करें

  1. पैटर्न बॉक्स में JavaScript रेगुलर एक्सप्रेशन टाइप करें (या "Load example" पर क्लिक करें)।
  2. जिस टेक्स्ट पर टेस्ट करना है उसे पेस्ट करें; मैच तुरंत हाइलाइट होकर टेबल में दिखते हैं।
  3. i (इग्नोर केस) या m (मल्टीलाइन) जैसे फ़्लैग टॉगल करके देखें कि नतीजे कैसे बदलते हैं।
  4. चाहें तो रिप्लेसमेंट स्ट्रिंग डालकर find-and-replace का प्रीव्यू देखें।
  5. मैच को CSV के रूप में कॉपी करें या बदला हुआ टेक्स्ट डाउनलोड करें।

Regex टेस्टर की खूबियाँ

  • टाइप करते ही लाइव मैचिंग, और टेक्स्ट में हर मैच हाइलाइट
  • मैच की टेबल — इंडेक्स, अंतिम स्थिति, line:column और हर नंबर वाला या नामित ग्रुप सहित
  • g, i, m, s, u और y फ़्लैग एक क्लिक में; /abc/gi जैसे regex लिटरल भी स्वीकार हैं
  • $1, $<name>, $& और $$ को सपोर्ट करने वाला रिप्लेसमेंट प्रीव्यू
  • कैटास्ट्रॉफ़िक बैकट्रैकिंग वाले पैटर्न की स्टैटिक पहचान और टाइम बजट, ताकि पेज कभी हैंग न हो
  • साफ़, प्रोफ़ेशनल सिंटैक्स एरर, साथ में संभावित कारण का संकेत

Regex टेस्टर का उदाहरण

ईमेल पतों से user और domain निकालना

इनपुट:

Pattern: (?<user>[\w.+-]+)@(?<domain>[\w-]+\.[a-z]{2,})
Text: layla@example.com, omar.said@mutqan.sa

आउटपुट:

#1 layla@example.com  index 0  user=layla  domain=example.com
#2 omar.said@mutqan.sa  index 19  user=omar.said  domain=mutqan.sa

Regex टेस्टर के बारे में अक्सर पूछे जाने वाले सवाल

टेस्टर कौन-सा regex फ़्लेवर इस्तेमाल करता है?

आपके ब्राउज़र में लागू JavaScript (ECMAScript) रेगुलर एक्सप्रेशन — वही इंजन जो Node.js, Deno और ब्राउज़र कोड इस्तेमाल करते हैं। PCRE, Python और Java के ज़्यादातर पैटर्न बिना बदलाव के चलते हैं; lookbehind, नामित ग्रुप और \p{…} यूनिकोड क्लास सपोर्ट किए जाते हैं।

सिर्फ़ पहला मैच क्यों दिख रहा है?

g (ग्लोबल) फ़्लैग के बिना regex पहले मैच पर रुक जाता है। हर मैच की सूची पाने के लिए g चेकबॉक्स चालू करें; यह डिफ़ॉल्ट रूप से चालू रहता है।

रिप्लेसमेंट में ग्रुप का संदर्भ कैसे दें?

नंबर वाले ग्रुप के लिए $1, $2, नामित ग्रुप के लिए $<name>, पूरे मैच के लिए $& और लिटरल डॉलर चिह्न के लिए $$ — बिल्कुल वैसे ही जैसे JavaScript के String.prototype.replace में।

धीमे या कैटास्ट्रॉफ़िक पैटर्न पर क्या होता है?

टूल (a+)+ जैसे नेस्टेड अनबाउंडेड क्वांटिफ़ायर की स्टैटिक पहचान करता है और उन्हें बड़े टेक्स्ट पर चलाने से मना कर देता है। एक्ज़ीक्यूशन पर समय की सीमा भी लगी है, इसलिए पेज कभी फ़्रीज़ नहीं होता।

क्या मेरा टेक्स्ट कहीं अपलोड होता है?

नहीं। मैचिंग पूरी तरह आपके ब्राउज़र में चलती है; कुछ भी सर्वर पर नहीं भेजा जाता।

तकनीकी नोट्स

टेस्टर आपके पैटर्न को ब्राउज़र के नेटिव RegExp इंजन से कंपाइल करता है और exec() से मैच पर इटरेट करता है, खाली मैच मिलने पर lastIndex को ख़ुद आगे बढ़ाकर अनंत लूप से बचता है। एक छोटा पार्सर पैटर्न ट्री में नेस्टेड अनबाउंडेड क्वांटिफ़ायर और ओवरलैपिंग अल्टरनेशन ढूँढ़ता है — एक्सपोनेंशियल बैकट्रैकिंग के क्लासिक कारण — और 2,000 कैरेक्टर से बड़े इनपुट पर जोखिम भरे पैटर्न चलाने से मना कर देता है।

पोज़िशन UTF-16 कोड यूनिट में बताई जाती हैं, ठीक वैसे ही जैसे JavaScript के String मेथड करते हैं, इसलिए इंडेक्स सीधे slice() कॉल में इस्तेमाल किए जा सकते हैं।