संपादक

इनपुट या रेगेक्स निष्पादन की प्रतीक्षा...

क्रियाएं

?
?
?

के बारे में ऑनलाइन रेगेक्स टेस्टर

कुछ टेक्स्ट पेस्ट करें, एक रेगेक्स पैटर्न लिखें, फ्लैग्स टॉगल करें और तुरंत देखें क्या मैच होता है। यह रेगेक्स टेस्टर आधुनिक जावास्क्रिप्ट रनटाइम्स के समान RegExp इंजन का उपयोग करता है, इसलिए आप यहाँ जो देखते हैं वही आपको अपने फ्रंटएंड कोड, Node.js स्क्रिप्ट्स, या सर्वर-साइड वैलिडेशन में मिलेगा। नामित कैप्चर ग्रुप्स, लुकअराउंड्स और यूनिकोड मोड तब समर्थित हैं जब आपका रनटाइम उन्हें सपोर्ट करता है।

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

  • वैकल्पिक "लाइव" मोड के साथ रीयल-टाइम मिलान, टाइप करते ही पुनः चलाने के लिए
  • संरचित मिलान सूची जिसमें प्रारंभ सूचकांक, अंत सूचकांक, मान और नामित कैप्चर समूह शामिल हैं
  • पूर्ण JavaScript/ECMAScript RegExp सिंटैक्स समर्थन (आपके JS रनटाइम के समान इंजन)
  • फ्लैग नियंत्रण: g, i, m, s, u, y – सुरक्षित रूप से संयोजित करें और प्रयोग करें
  • मिलीसेकंड में प्रति-रन निष्पादन समय के साथ बुनियादी प्रदर्शन अंतर्दृष्टि
  • टिकटों, दस्तावेजों या कमिट संदेशों में त्वरित कॉपी/पेस्ट के लिए केवल-पाठ सारांश आउटपुट
  • सीखने के लिए उत्कृष्ट: पूर्ण प्रोजेक्ट या टेस्ट सूट चलाए बिना पैटर्न प्रोटोटाइप करें
  • दैनिक कार्यों के लिए आदर्श: लॉग पार्सिंग, सत्यापन, URL/ID निष्कर्षण, त्वरित डेटा सफाई
  • बड़े पाठों से मिलान करते समय UI फ्रीज से बचने के लिए परिणाम सूची को नरम सीमा दी गई है

🔧 रेगेक्स टेस्टर का उपयोग कैसे करें for regex-tester

1

1. अपना परीक्षण पाठ पेस्ट या टाइप करें

वह पाठ जोड़ें जिसमें आप खोज करना चाहते हैं: लॉग, स्निपेट्स, CSV अंश, HTML, JSON, कोई भी सादा पाठ।

2

2. अपना रेगेक्स पैटर्न लिखें

नियमित अभिव्यक्ति **आसपास के स्लैश के बिना** दर्ज करें। उदाहरण के लिए: मूल ईमेल-जैसे पैटर्न के लिए <code>\b\w+@\w+\.\w+</code>, या नामित समूहों के साथ <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code>।

3

3. फ्लैग सेट करें (g, i, m, s, u, y)

फ्लैग टॉगल करें जैसे <code>g</code> (वैश्विक), <code>i</code> (केस-असंवेदनशील) या <code>m</code> (मल्टीलाइन)। अंदरूनी रूप से, टेस्टर <code>new RegExp(pattern, flags)</code> बनाता है, ठीक JavaScript की तरह।

4

4. मिलान और समूहों का निरीक्षण करें

प्रत्येक मिलान का उसके सूचकांक, वैकल्पिक अंत सूचकांक और कैप्चर समूहों के साथ समीक्षा करें। नामित समूह JSON-जैसे मानचित्र के रूप में दिखाई देते हैं ताकि आप उन्हें टेस्ट फिक्स्चर, पार्सर या दस्तावेजीकरण में कॉपी कर सकें।

5

5. सारांश कॉपी करें

त्वरित रिपोर्ट के रूप में पाठ सारांश का उपयोग करें: यह सूचकांकों और समूहों के साथ मिलान सूचीबद्ध करता है, टिकटों, कोड समीक्षा टिप्पणियों या चीट शीट में पेस्ट करने के लिए तैयार।

रेगेक्स सिंटैक्स और इंजन विवरण

वर्ण वर्ग और मूल बातें

JavaScript RegExp इंजन द्वारा समर्थित मूल निर्माण ब्लॉक।

पैटर्नअर्थउदाहरण
.लाइन ब्रेक के अलावा कोई भी वर्ण (जब तक <code>s</code> फ्लैग न हो)<code>a.c</code> → <code>abc</code> से मिलान करता है
\d, \w, \sअंक, शब्द वर्ण, रिक्त स्थान<code>\d+</code> → <code>123</code>
\D, \W, \Sउपरोक्त के नकारात्मक संस्करण<code>\S+</code> → गैर-रिक्त स्थान अनुक्रम
[abc]वर्ण समूह<code>[aeiou]</code> → एक स्वर
[^abc]नकारात्मक समूह<code>[^0-9]</code> → गैर-अंक
^, $इनपुट की शुरुआत और अंत (या <code>m</code> के साथ पंक्ति)<code>^Hello</code>, <code>!$</code>

परिमाणक

पिछले टोकन की पुनरावृत्ति, लालची और आलसी व्यवहार के साथ।

पैटर्नअर्थउदाहरण
?0 या 1 बार<code>colou?r</code> → <code>color</code> और <code>colour</code> से मेल खाता है
*0 या अधिक<code>a*b</code> → <code>b</code>, <code>aaab</code>
+1 या अधिक<code>\d+</code> → <code>1</code>, <code>123</code>
{n}ठीक n बार<code>a{3}</code> → <code>aaa</code>
{n,}कम से कम n बार<code>\d{3,}</code> → <code>123</code>, <code>1234</code>
{n,m}n और m के बीच<code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code>

समूह, लुकअराउंड और नामित कैप्चर

आधुनिक जावास्क्रिप्ट इंजन द्वारा प्रदान की गई अधिक उन्नत सुविधाएँ।

सुविधावाक्य-विन्यासउदाहरण
कैप्चरिंग समूह(...)<code>(\d{3})-(\d{2})</code> → क्षेत्र + प्रत्यय
गैर-कैप्चरिंग समूह(?:...)<code>(?:https?|ftp)://</code>
बैकरेफरेंस\1, \2, ...<code>(\w)\1</code> → <code>aa</code>, <code>bb</code>
लुकअहेड(?=...), (?!...)<code>\w+(?=! )</code> → <code>! </code> से पहले का शब्द
लुकबिहाइंड*(?<=...), (?<!...)<code>(?<=#)\w+</code> → <code>#</code> के बाद का पाठ (*आधुनिक इंजनों में)
नामित समूह(?<name>...)<code>(?<year>\d{4})</code> → परिणामों में <code>groups.year</code>

फ्लैग्स (विकल्प)

टेस्टर के फ्लैग्स सीधे जावास्क्रिप्ट RegExp फ्लैग्स से मैप होते हैं।

फ्लैगनामप्रभाव
gग्लोबलकेवल पहला मिलान ढूंढने के बजाय सभी मिलान ढूंढें
iकेस अनदेखा करेंकेस-असंवेदनशील मिलान
mमल्टीलाइन<code>^</code> और <code>$</code> लाइन सीमाओं से मिलते हैं
sडॉटऑल<code>.</code> लाइन ब्रेक से भी मिलता है
uयूनिकोडआधुनिक इंजनों में यूनिकोड मोड और प्रॉपर्टी एस्केप सक्षम करता है
yस्टिकीकेवल वर्तमान इंडेक्स पर मिलान करें (<code>lastIndex</code> के साथ प्रयुक्त)

प्रदर्शन और सुरक्षा

अंतर्निहित जावास्क्रिप्ट इंजन रेगेक्स को सिंक्रोनस रूप से निष्पादित करता है। यूआई को उत्तरदायी बनाए रखने के लिए, टेस्टर एकत्रित मिलानों की संख्या को सीमित करता है (जैसे कि ग्लोबल मोड में पहले 500 हिट)। यह यूआई को अतिभारित होने से बचाने में मदद करता है, लेकिन जटिल या महत्वपूर्ण पैटर्न के लिए पूर्ण प्रदर्शन ऑडिट का विकल्प नहीं है।

कमांड लाइन रेगेक्स टूल्स

एक बार आपका पैटर्न यहाँ काम करने लगे, तो आप उसी या समान रेगेक्स को अपने टर्मिनल, स्क्रिप्ट्स या सीआई जॉब्स में पुनः उपयोग कर सकते हैं:

लिनक्स / मैकओएस

grep के साथ खोजें (विस्तारित रेगेक्स)

grep -E 'pattern' file.txt

दिए गए पैटर्न से मिलने वाली लाइनें ढूंढें

sed के साथ खोजें और बदलें

sed -E 's/pattern/replacement/g' input.txt > output.txt

टेक्स्ट फाइलों में बैच प्रतिस्थापन

विंडोज / पावरशेल

पावरशेल रेगेक्स खोज

Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txt

लॉग फाइलों में अमेरिकी शैली के एसएसएन पैटर्न ढूंढें (उदाहरण)

पावरशेल रेगेक्स प्रतिस्थापन

(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txt

सरल रेगेक्स-आधारित प्रतिस्थापन

व्यावहारिक रेगेक्स अनुप्रयोग

वेब और फ्रंटएंड डेवलपमेंट

  • फॉर्म में ईमेल, उपयोगकर्ता नाम, स्लग या कस्टम आईडी मान्य करें
  • यूआरएल या पथों से रूट पैरामीटर निकालें
  • क्लाइंट-साइड वैलिडेशन के लिए पैटर्न त्वरित प्रोटोटाइप करें
// बेसिक ईमेल-जैसी वैलिडेशन
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);
// रूट पैरामीटर: /post/123
const match = pathname.match(/^\/post\/(\d+)/);

लॉग्स, डेटा और बैकएंड

  • लॉग लाइनों से टाइमस्टैम्प और स्तर पार्स करें
  • व्हाइटस्पेस सामान्यीकृत करें और अव्यवस्थित टेक्स्ट साफ करें
  • असंरचित सामग्री से आईडी, ईमेल या संदर्भ निकालें
// दोहराए गए व्हाइटस्पेस को संकुचित करें
const normalized = text.replace(/\s+/g, ' ').trim();
// सरल लॉग लाइन मैचर
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);

डेटा सफाई और त्वरित स्क्रिप्ट्स

  • पार्सिंग से पहले अवांछित HTML टैग या विशेषताएँ हटाएं
  • टेक्स्ट के लंबे ब्लॉब से सभी यूआरएल, ईमेल या आईडी निकालें
  • डेटासेट फ़ील्ड्स को दूसरी प्रणाली में आयात के लिए तैयार करें

❓ Frequently Asked Questions

मेरा रेगेक्स कुछ भी क्यों नहीं मिल रहा है?

सामान्य गलतियाँ: 1) विशेष वर्णों को एस्केप नहीं किया गया (जैसे ., ?, +), 2) कई मैचों की उम्मीद करते समय g फ्लैग भूल जाना, 3) एंकर्स (^, $) या वर्ड बाउंड्री (\b) का छूट जाना, 4) ऐसी सुविधाओं का उपयोग करना जो आपका जावास्क्रिप्ट इंजन अभी तक सपोर्ट नहीं करता (जैसे कुछ लुकबिहाइंड)। पैटर्न को सरल बनाने और टुकड़ों को धीरे-धीरे वापस जोड़ने का प्रयास करें।

⏱️निष्पादन समय (ms) का क्या अर्थ है?

प्रत्येक रन को performance.now() का उपयोग करके समयबद्ध किया जाता है। यह मान एक मोटा एकल-रन माप है कि वर्तमान इनपुट पर रेगेक्स को निष्पादित करने में कितना समय लगा। यह स्पष्ट रूप से महंगे पैटर्नों को देखने के लिए उपयोगी है, लेकिन यह पूर्ण बेंचमार्क या उत्पादन प्रदर्शन की गारंटी नहीं है।

🔍पहला मैच और ग्लोबल मोड में क्या अंतर है?

g फ्लैग के बिना, जावास्क्रिप्ट केवल **पहला** मैच (यदि कोई हो) लौटाता है। g के साथ, टेस्टर **सभी** मैचों (एक सुरक्षित अधिकतम तक सीमित) को एकत्र करने के लिए input.matchAll() का उपयोग करता है, जिसमें इंडेक्स और कैप्चर ग्रुप शामिल हैं। जब भी आपको कई घटनाओं की परवाह हो तो ग्लोबल मोड का उपयोग करें।

🌍क्या यह यूनिकोड और <code>\p{...}</code> एस्केप का समर्थन करता है?

हाँ, जब आपका जावास्क्रिप्ट इंजन इसका समर्थन करता है। यूनिकोड मोड में शामिल होने के लिए u फ्लैग सक्षम करें, जो आधुनिक ब्राउज़रों और हाल के Node.js संस्करणों में \p{Letter} या \p{Script=Greek} जैसी चीजों को अनलॉक करता है।

⚠️क्या यह विनाशकारी बैकट्रैकिंग का पता लगा सकता है?

टेस्टर निष्पादन समय के माध्यम से धीमे पैटर्नों का संकेत दे सकता है, लेकिन यह पूरी तरह से विनाशकारी बैकट्रैकिंग को रोक नहीं सकता: अंतर्निहित इंजन अभी भी तुल्यकालिक रूप से चलता है। इस टूल को प्रारंभिक चेतावनी प्रणाली के रूप में उपयोग करें, फिर अपने स्वयं के कोडबेस में जटिल पैटर्नों को ध्यान से बेंचमार्क और समीक्षा करें।

Pro Tips

Best Practice

अपना रेगेक्स छोटे टुकड़ों में बनाएं। कुछ सरल से शुरू करें जो मेल खाता हो, फिर एंकर्स, ग्रुप और क्वांटिफायर को क्रमिक रूप से जोड़ें।

Best Practice

जब भी संभव हो नामित कैप्चर ग्रुप (<code>(?<name>...)</code>) का उपयोग करें। वे आपके मैचों को स्व-दस्तावेजी बनाते हैं और कोड समीक्षा के दौरान पढ़ने में बहुत आसान होते हैं।

Best Practice

<code>.*</code> और नेस्टेड क्वांटिफायर के साथ सावधान रहें। वे बड़े इनपुट पर भारी बैकट्रैकिंग का कारण बन सकते हैं। पैटर्न को अधिक विशिष्ट बनाएं या <code>{n,m}</code> के साथ पुनरावृत्ति को सीमित करें।

Best Practice

डिबगिंग करते समय, अस्थायी रूप से <code>g</code> फ्लैग हटाएं और मानसिक मॉडल को सरल बनाने के लिए पहले मैच पर ध्यान केंद्रित करें।

Additional Resources

Other Tools