संपादक
इनपुट या रेगेक्स निष्पादन की प्रतीक्षा...
क्रियाएं
इस रेगेक्स टेस्टर का उपयोग क्यों करें
- वैकल्पिक "लाइव" मोड के साथ रीयल-टाइम मिलान, टाइप करते ही पुनः चलाने के लिए
- संरचित मिलान सूची जिसमें प्रारंभ सूचकांक, अंत सूचकांक, मान और नामित कैप्चर समूह शामिल हैं
- पूर्ण JavaScript/ECMAScript RegExp सिंटैक्स समर्थन (आपके JS रनटाइम के समान इंजन)
- फ्लैग नियंत्रण: g, i, m, s, u, y – सुरक्षित रूप से संयोजित करें और प्रयोग करें
- मिलीसेकंड में प्रति-रन निष्पादन समय के साथ बुनियादी प्रदर्शन अंतर्दृष्टि
- टिकटों, दस्तावेजों या कमिट संदेशों में त्वरित कॉपी/पेस्ट के लिए केवल-पाठ सारांश आउटपुट
- सीखने के लिए उत्कृष्ट: पूर्ण प्रोजेक्ट या टेस्ट सूट चलाए बिना पैटर्न प्रोटोटाइप करें
- दैनिक कार्यों के लिए आदर्श: लॉग पार्सिंग, सत्यापन, URL/ID निष्कर्षण, त्वरित डेटा सफाई
- बड़े पाठों से मिलान करते समय UI फ्रीज से बचने के लिए परिणाम सूची को नरम सीमा दी गई है
🔧 रेगेक्स टेस्टर का उपयोग कैसे करें for regex-tester
1. अपना परीक्षण पाठ पेस्ट या टाइप करें
वह पाठ जोड़ें जिसमें आप खोज करना चाहते हैं: लॉग, स्निपेट्स, CSV अंश, HTML, JSON, कोई भी सादा पाठ।
2. अपना रेगेक्स पैटर्न लिखें
नियमित अभिव्यक्ति **आसपास के स्लैश के बिना** दर्ज करें। उदाहरण के लिए: मूल ईमेल-जैसे पैटर्न के लिए <code>\b\w+@\w+\.\w+</code>, या नामित समूहों के साथ <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code>।
3. फ्लैग सेट करें (g, i, m, s, u, y)
फ्लैग टॉगल करें जैसे <code>g</code> (वैश्विक), <code>i</code> (केस-असंवेदनशील) या <code>m</code> (मल्टीलाइन)। अंदरूनी रूप से, टेस्टर <code>new RegExp(pattern, flags)</code> बनाता है, ठीक JavaScript की तरह।
4. मिलान और समूहों का निरीक्षण करें
प्रत्येक मिलान का उसके सूचकांक, वैकल्पिक अंत सूचकांक और कैप्चर समूहों के साथ समीक्षा करें। नामित समूह JSON-जैसे मानचित्र के रूप में दिखाई देते हैं ताकि आप उन्हें टेस्ट फिक्स्चर, पार्सर या दस्तावेजीकरण में कॉपी कर सकें।
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
❓मेरा रेगेक्स कुछ भी क्यों नहीं मिल रहा है?
., ?, +), 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
अपना रेगेक्स छोटे टुकड़ों में बनाएं। कुछ सरल से शुरू करें जो मेल खाता हो, फिर एंकर्स, ग्रुप और क्वांटिफायर को क्रमिक रूप से जोड़ें।
जब भी संभव हो नामित कैप्चर ग्रुप (<code>(?<name>...)</code>) का उपयोग करें। वे आपके मैचों को स्व-दस्तावेजी बनाते हैं और कोड समीक्षा के दौरान पढ़ने में बहुत आसान होते हैं।
<code>.*</code> और नेस्टेड क्वांटिफायर के साथ सावधान रहें। वे बड़े इनपुट पर भारी बैकट्रैकिंग का कारण बन सकते हैं। पैटर्न को अधिक विशिष्ट बनाएं या <code>{n,m}</code> के साथ पुनरावृत्ति को सीमित करें।
डिबगिंग करते समय, अस्थायी रूप से <code>g</code> फ्लैग हटाएं और मानसिक मॉडल को सरल बनाने के लिए पहले मैच पर ध्यान केंद्रित करें।
Additional Resources
Other Tools
- सीएसएस सुंदरीकरण
- एचटीएमएल सुंदरीकरण
- जावास्क्रिप्ट सुंदरीकरण
- पीएचपी सुंदरीकरण
- रंग चयनकर्ता
- स्प्राइट एक्सट्रैक्टर
- बेस64 डिकोडर
- बेस64 एनकोडर
- सीशार्प फॉर्मेटर
- सीएसवी फॉर्मेटर
- Dockerfile Formatter
- एल्म फॉर्मेटर
- ईएनवी फॉर्मेटर
- गो फॉर्मेटर
- ग्राफक्यूएल फॉर्मेटर
- एचसीएल फॉर्मेटर
- आईएनआई फॉर्मेटर
- जेएसओएन फॉर्मेटर
- लेटेक्स फॉर्मेटर
- मार्कडाउन फॉर्मेटर
- ऑब्जेक्टिवसी फॉर्मेटर
- Php Formatter
- प्रोटो फॉर्मेटर
- पायथन फॉर्मेटर
- रूबी फॉर्मेटर
- रस्ट फॉर्मेटर
- स्काला फॉर्मेटर
- शेल स्क्रिप्ट फॉर्मेटर
- एसक्यूएल फॉर्मेटर
- SVG फॉर्मेटर
- Swift फॉर्मेटर
- TOML फॉर्मेटर
- Typescript Formatter
- XML फॉर्मेटर
- YAML फॉर्मेटर
- Yarn फॉर्मेटर
- सीएसएस मिनीफायर
- Html Minifier
- Javascript Minifier
- जेएसओएन मिनीफायर
- XML मिनिफायर
- एचटीटीपी हेडर्स दर्शक
- पीडीएफ से टेक्स्ट
- एसईआरपी रैंक जांचकर्ता
- Whois लुकअप