सीधे कंटेंट पर जाएँ

रेगुलर एक्सप्रेशन टेस्ट करें

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

JavaScript (ECMAScript) regex फ़्लेवरवही इंजन जो आपके ब्राउज़र, Node.js और Deno में चलता है
//g

$1 या $<name> किसी ग्रुप को डालता है, $& पूरे मैच को, $` और $' मैच से पहले और बाद के टेक्स्ट को, $$ डॉलर चिह्न को।

मैच और कैप्चर ग्रुप यहाँ दिखेंगे।

आपके ब्राउज़र में चलता है · अपलोड नहीं होतायह कैसे काम करता है

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

  1. 1

    पैटर्न लिखें

    रेगुलर एक्सप्रेशन बिना स्लैश के लिखें। फ़्लैग उसके नीचे दिए टॉगल से चुनें।

  2. 2

    टेस्ट स्ट्रिंग जोड़ें

    जिस टेक्स्ट में खोजना है, उसे पेस्ट करें। लिखते ही मैच हाइलाइट होते हैं और कैप्चर ग्रुप के साथ सूची में दिखते हैं।

  3. 3

    व्याख्या देखें

    व्याख्या खोलकर हर टोकन आसान भाषा में पढ़ें और समझें कि पैटर्न असल में क्या करता है।

  4. 4

    बदलाव का प्रीव्यू देखें

    $1 या $<name> के साथ बदलने वाला टेक्स्ट लिखकर नतीजा देखें, फिर कोड टैब से कोड कॉपी करें।

सीमाएँ और Pro

बिना साइन-अप के मुफ़्त: 100,000 मैच तक गिने जाते हैं, 2,000 हाइलाइट होते हैं और 200 तालिका में दिखते हैं। हाइलाइटिंग 200,000 अक्षरों तक की टेस्ट स्ट्रिंग पर काम करती है, और हर रन 1.5 सेकंड बाद रोक दिया जाता है।

Pro में विज्ञापन नहीं दिखते। टेस्टर हर प्लान में एक जैसा काम करता है। Pro देखें

Regex टेस्टर के बारे में

यह टेस्टर आपके पैटर्न को ब्राउज़र में बने JavaScript (ECMAScript) रेगुलर-एक्सप्रेशन इंजन से चलाता है। यही इंजन Node.js, Deno, Bun और हर वेब पेज में इस्तेमाल होता है, इसलिए जो पैटर्न यहाँ मैच होता है, वह आपके कोड में भी वैसे ही मैच होगा। पैटर्न और टेस्ट स्ट्रिंग लिखते ही हर मैच हाइलाइट हो जाता है। साथ में पोज़ीशन की तालिका, क्रमांक वाले कैप्चर ग्रुप और नामित ग्रुप दिखते हैं, और d फ़्लैग चालू होने पर हर ग्रुप की शुरुआत और अंत भी दिखता है।

आठों फ़्लैग चालू-बंद किए जा सकते हैं: हर मैच के लिए g, केस नज़रअंदाज़ करने के लिए i, ^ और $ को हर लाइन पर चलाने के लिए m, डॉट से लाइन ब्रेक भी मैच कराने के लिए s, पूरे Unicode और \p{…} प्रॉपर्टी एस्केप के लिए u, ब्रैकेट के भीतर इंटरसेक्शन और घटाव वाले Unicode सेट के लिए v, स्टिकी मैचिंग के लिए y और इंडेक्स के लिए d। “इससे बदलें” बॉक्स में String.prototype.replace का प्रीव्यू $1, $<name>, $& और बाकी सब्स्टिट्यूशन टोकन के साथ दिखता है, और “कोड” टैब में literal, matchAll और RegExp() के स्निपेट मिलते हैं।

“व्याख्या” टैब पैटर्न को टोकन में तोड़कर आसान भाषा में बताता है कि हर टोकन क्या करता है: ग्रुप, लुकअराउंड, कैरेक्टर क्लास, क्वांटिफ़ायर, और ये ग्रीडी हैं या लेज़ी। “चीट शीट” से आम टोकन कर्सर की जगह डल जाते हैं।

मैचिंग बैकग्राउंड Web Worker में 1.5 सेकंड की सीमा के साथ चलती है। जो पैटर्न बहुत ज़्यादा बैकट्रैक करता है, जैसे a की लंबी कतार पर (a+)+b, वह टैब को फ़्रीज़ करने के बजाय कारण बताकर रोक दिया जाता है। PCRE, Python या .NET के पैटर्न में बदलाव ज़रूरी हो सकते हैं: पज़ेसिव क्वांटिफ़ायर, एटॉमिक ग्रुप, रिकर्शन, \A और \Z JavaScript में नहीं होते।

गोपनीयता

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

खूबियाँ

असली JS इंजन

ब्राउज़र और Node.js के RegExp की तरह ही मैच करता है, v फ़्लैग के सेट और नामित ग्रुप समेत।

टोकन-दर-टोकन व्याख्या

हर ग्रुप, क्लास, ऐंकर और क्वांटिफ़ायर आसान भाषा में समझाया गया।

बैकट्रैकिंग से सुरक्षा

मैचिंग 1.5 सेकंड की सीमा के साथ Worker में चलती है, इसलिए गलत पैटर्न पेज को फ़्रीज़ नहीं कर सकता।

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

यह टेस्टर कौन-सा regex फ़्लेवर इस्तेमाल करता है?
JavaScript का, जो ECMAScript मानक में तय है और आपके ब्राउज़र में लागू है। इसमें लुकबिहाइंड, नामित ग्रुप, Unicode प्रॉपर्टी एस्केप और v फ़्लैग चलते हैं, पर PCRE की सुविधाएँ नहीं, जैसे पज़ेसिव क्वांटिफ़ायर, एटॉमिक ग्रुप, रिकर्शन या कंडीशनल। Python का (?P<name>…) यहाँ (?<name>…) लिखना होगा। नतीजे उसी इंजन वर्ज़न वाले Node.js और Deno जैसे ही आते हैं।
मेरा पैटर्न सिर्फ़ पहला मैच क्यों ढूँढता है?
g फ़्लैग के बिना JavaScript पहले मैच के बाद रुक जाता है: exec और match एक ही नतीजा देते हैं और replace सिर्फ़ पहली जगह बदलता है। हर मैच खोजने और बदलने के लिए g चालू करें। स्टिकी y फ़्लैग अलग है: वह सिर्फ़ ठीक उसी जगह मैच करता है जहाँ पिछला मैच खत्म हुआ था, जो टोकनाइज़र के काम आता है।
कैटास्ट्रॉफ़िक बैकट्रैकिंग क्या है?
जब कोई पैटर्न एक ही टेक्स्ट को कई तरीकों से मैच कर सकता है, जैसे (a+)+ या (.*)* जैसे नेस्टेड क्वांटिफ़ायर में, तब मैच फ़ेल होने पर इंजन हर संयोजन आज़माता है, और इनपुट बढ़ने पर यह संख्या तेज़ी से बढ़ती है। यहाँ यह 1.5 सेकंड बाद चेतावनी के साथ रुक जाता है। विकल्पों को एक-दूसरे से अलग रखकर ठीक करें, जैसे कॉमा से पहले .* की जगह [^,]*।
रिप्लेसमेंट में कैप्चर ग्रुप कैसे इस्तेमाल करूँ?
क्रमांक वाले ग्रुप के लिए $1, $2 आदि लिखें, या (?<year>\d{4}) जैसे नामित ग्रुप के लिए $<name>। $& पूरा मैच डालता है, $` उससे पहले का टेक्स्ट और $' उसके बाद का टेक्स्ट। $$ से एक सामान्य डॉलर चिह्न बनता है। “उदाहरण आज़माएँ” एक तारीख वाला पैटर्न लोड करता है जो इसी तरह साल, महीना और दिन का क्रम बदलता है।
u या v फ़्लैग की ज़रूरत कब पड़ती है?
जब आपके टेक्स्ट में इमोजी या Basic Multilingual Plane से बाहर के कैरेक्टर हों, तब u इस्तेमाल करें, ताकि डॉट और क्वांटिफ़ायर उन्हें एक कैरेक्टर मानें। \p{L} जैसी Unicode प्रॉपर्टी के लिए भी u चाहिए। नया v फ़्लैग u की सारी सुविधाएँ देता है और ब्रैकेट के भीतर सेट ऑपरेशन भी जोड़ता है, जैसे गैर-ASCII अक्षरों के लिए [\p{L}--[a-z]]। दोनों फ़्लैग साथ नहीं चल सकते।
सभी डेवलपर टूल