Volade पारिस्थितिकी तंत्र — वेब उपकरण

regex टेस्टर

एक नियमित अभिव्यक्ति को ऑनलाइन तुरंत टेस्ट करें : हर कीस्ट्रोक पर टेक्स्ट हाइलाइट होता है, मैच तालिका इंडेक्स, लंबाई और कैप्चर समूह दिखाती है, बदलें टैब $1 और $& के साथ पैटर्न लागू करता है, व्याख्या टैब पैटर्न को तत्व-दर-तत्व तोड़ता है, और परफ़ॉर्मेंस टैब ReDoS जोखिम मापता है। मुफ़्त, बिना पंजीकरण और 100 % स्थानीय : आपका टेक्स्ट कभी आपके ब्राउज़र से बाहर नहीं जाता।

6 टेस्ट मोड0 सर्वर पर भेजा गया बाइट10 तैयार उदाहरण
उपकरण

आपका ऑनलाइन regex टेस्टर

पैटर्न लिखें, फ्लैग चुनें, टेक्स्ट चिपकाएँ : मैच हाइलाइट और तालिका दोनों में दिखते हैं, बिना «कन्वर्ट» बटन के।

regex टेस्टर

ऑनलाइन डेवलपमेंट, कोड & डेटा
साइन इन
शॉर्टकट : Ctrl+Enter पुनः गणना करें
तैयार।

                  
मैच मूल टेक्स्ट में हाइलाइट होते हैं, जैसे-जैसे आप टाइप करते हैं।
#मैचइंडेक्सलंबाईसमूह
टाइप करते समय विश्लेषण, प्रतिस्थापन और व्याख्या · Ctrl+Enter सक्रिय टैब की पुनः गणना · कोई नेटवर्क अनुरोध नहीं · 100 % स्थानीय, आपका उपकरण कुछ नहीं छोड़ता।
0,0 0टिप्पणी सभी उपकरण
मुफ़्त या प्रीमियम ?

regex टेस्टर मुफ़्त और असीमित है : न कोई खाता, न कुछ इंस्टॉल करना, न कोई नेटवर्क अनुरोध। प्रीमियम पूरे Volade पारिस्थितिकी तंत्र को अनलॉक करता है।

मुफ़्तहाइलाइटिंग, मैच तालिका और कैप्चर समूह
मुफ़्त$1, $& और नामित समूहों के साथ पैटर्न प्रतिस्थापन
मुफ़्तपैटर्न व्याख्या, उदाहरण लाइब्रेरी और चीट शीट
प्रीमियमपैटर्न और टेक्स्ट अंशों की एन्क्रिप्टेड क्लाउड सिंक
प्रीमियमAPI एक्सेस और पारिस्थितिकी तंत्र के उपकरणों के बीच साझा स्क्रिप्ट
प्रीमियम अनलॉक करें
फ़ीचर

regex टेस्ट करें, बदलें और समझाएँ, बिना सीमा के

एक ही इंजन विश्लेषण, प्रतिस्थापन और पैटर्न की समझ को कवर करता है — आपके उपकरण को कभी छोड़े बिना।

हाइलाइटिंग और मैच तालिका

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

पैटर्न टेस्ट करें

समूहों के साथ प्रतिस्थापन

«बदलें» टैब आपके स्रोत टेक्स्ट पर पैटर्न लागू करता है और आउटपुट लाइव दिखाता है : $1 और $2 कैप्चर समूहों को वापस डालते हैं, $& पूरे मैच को, और $<nom> नामित समूह को। प्रतिस्थापनों की संख्या अलग गिनी जाती है, और जब g फ्लैग न हो तो उपकरण आपको बताता है कि सिर्फ पहला मैच बदला जाएगा।

टेक्स्ट बदलें

व्याख्या, उदाहरण और परफ़ॉर्मेंस

«व्याख्या» टैब पैटर्न को क्लास, एस्केप, समूह, असर्शन और क्वांटिफायर में तोड़ता है, हर एक के साथ उसका अर्थ और एक उदाहरण देता है। «उदाहरण» टैब दस परखे हुए पैटर्न लोड करता है — ईमेल, URL, तिथि, IPv4, मज़बूत पासवर्ड — और «परफ़ॉर्मेंस» टैब वास्तविक निष्पादन समय मापकर भयंकर बैकट्रैकिंग जोखिम पकड़ता है।

मोड देखें
यह कैसे काम करता है

तीन चरणों में पैटर्न लिखें, जाँचें और सुधारें

न कोई इंस्टॉलेशन, न पंजीकरण : उपकरण हमेशा तैयार रहता है, मोबाइल पर भी और डेस्कटॉप पर भी।

पैटर्न लिखें

साझा फ़ील्ड में नियमित अभिव्यक्ति दर्ज करें, जिन फ्लैग की ज़रूरत है उन्हें चुनें : परिणाम हर कीस्ट्रोक पर पुनः गणना होता है। फ़ील्ड के नीचे सिंटैक्स त्रुटि हिंदी में दिखाई जाती है — बंद न हुई पैरेंथेसिस, खुली क्लास, अनाथ क्वांटिफायर — ब्राउज़र का कच्चा संदेश नहीं।

अपना टेक्स्ट चिपकाएँ

टेक्स्ट हाइलाइट होता है और मैच तालिका साथ-साथ भरती है। यही चरण है जिसे सब छोड़ देते हैं — और यही वह है जो ज़्यादातर गलत पैटर्न उजागर करता है : भूला हुआ एंकर, अनकवर केस, और वह बिंदु जो लाइन ब्रेक को नहीं खाता।

पहले व्याख्या देखें, फिर मापें

पैटर्न को पंक्ति-दर-पंक्ति पढ़ने के लिए «व्याख्या» में जाएँ, उसे सुधारें, फिर «परफ़ॉर्मेंस» में जाँचें कि निष्पादन समय 250 ms से बहुत दूर है जो ReDoS जोखिम बताता है। स्थानीय इतिहास आपके आखिरी पैटर्न सहेजता है ताकि एक क्लिक में फिर से लोड हों।

त्वरित संदर्भ

नियमित अभिव्यक्ति एक नज़र में

ज्यादातर डेवलपर्स पैटर्न पढ़ने से पहले क्या जाँचते हैं — «चीट शीट» टैब में पूरी चीट शीट के साथ।

तत्वअर्थउदाहरण
.कोई भी वर्ण, नई पंक्ति को छोड़करa.c → abc
\dएक दशमलव अंक\d{3} → 123
\wएक अक्षर, अंक या अंडरस्कोर\w+ → volade_1
\sस्पेस, टैब या लाइन ब्रेक\s+ → «  »
^ $स्ट्रिंग की शुरुआत और अंत^abc$ → abc
*शून्य या अधिक बार, ग्रीडी संस्करणab*c → ac, abbc
+एक या अधिक बारab+c → abc
?शून्य या एक बारcolou?r → color, colour
{n,m}n से m बार\d{2,4} → 1234
(...)कैप्चर समूह(ha)+ → haha

«नियमित अभिव्यक्ति का परीक्षण» का क्या अर्थ है ?

नियमित अभिव्यक्ति का परीक्षण («regex test online», «tester regex javascript») का मतलब है किसी वास्तविक टेक्स्ट पर पैटर्न चलाना और ठीक-ठीक देखना कि इंजन क्या लौटाता है : मिले हुए स्ट्रिंग, उनकी स्थिति, और कैप्चर समूहों का मान। «सही लगने» वाला पैटर्न तब तक कुछ नहीं कहता जब तक वह आपके डेटा पर न चले — ट्यूटोरियल वाली regex और प्रोडक्शन वाली regex के बीच यही एकमात्र फ़र्क है जो मायने रखता है।

परीक्षण तीन अलग-अलग सवालों के जवाब देता है। क्या यह मैच करता है : मैच तालिका उसी पंक्ति पर बता देती है। कहाँ और कितना : इंडेक्स और लंबाई बताते हैं कि एंकर सही जगह पर था या नहीं। यह क्या कैप्चर करता है : नंबर या नाम वाले समूह बताते हैं कि जो हिस्सा आप निकालना चाहते थे वह सचमुच वही है या नहीं।

वे मेटाकैरेक्टर जो पूरा फ़र्क डालते हैं

बिंदु . कोई भी वर्ण बदल देता है, नई पंक्ति को छोड़कर — इसीलिए फ्लैग s जब आपका टेक्स्ट मल्टी-लाइन हो। क्वांटिफायर *, + और ? सभी ग्रीडी होते हैं : यह पर्याप्त पुनरावृत्ति संख्या पर रुक जाते हैं। सफ़िक्स ? (*?, +?, {2,5}?) इस व्यवहार को उलट देता है और देता है लाजी संस्करण, जो लगभग हमेशा पसंद करना चाहिए जब कोई .* लाइन का अंत निगल जाता हो।

कोष्ठक एक क्लास बनाते हैं : [abc] सूची में से एक वर्ण स्वीकार करता है, [^abc] उन्हें छोड़कर सब, [a-z0-9] एक दायरा। क्लास की शुरुआत में नेगेशन का ध्यान रखें — [^...] सिर्फ पहली स्थिति के लिए, अन्यथा ^ फिर से शाब्दिक हो जाता है। पाइप | विकल्पों को अलग करता है और निम्न प्राथमिकता की तरह व्यवहार करता है : ^cat|dog$ का मतलब है « पूरा टेक्स्ट cat है » या « पूरा टेक्स्ट dog है », « शुरुआत या अंत पर cat या dog » नहीं — ऐसे में समूह बनाना होगा : ^(?:cat|dog)$.

समूह, lookahead और lookbehind

पैरेंथेसिस कैप्चर करती हैं। समूह 1 इससे पहुँचा जाता है $1 प्रतिस्थापन पक्ष में और \1 पैटर्न पक्ष में, नामित समूह इससे $<nom> और \k<nom> — तीन समूहों से कहीं ज़्यादा पठनीय। (?:...) बिना नंबर बनाए समूह बनाता है, जब आप सिर्फ संरचना के लिए कैप्चर कर रहे हों तो यही पसंद करें।

असर्शन (lookaround) बिना खपाए जाँच करते हैं : (?=...) माँग करता है कि जो आगे है वह मिले, (?!...) उसे मना करता है, (?<=...) और (?<!...) पीछे के लिए भी यही करते हैं। इसी तरह पासवर्ड में विशेष अंक अनिवार्य किया जाता है बिना उसे कैप्चर में शामिल किए : ^(?=.*\d)(?=.*[A-Z]).{12,}$.

ReDoS : जब regex समय-बम बन जाए

यह ReDoS (Regular Expression Denial of Service) backtracking से आता है : लगभग मेल खाते इनपुट के सामने, जैसा पैटर्न (a+)+$ विफल होने से पहले « a » को काटने के सभी तरीके आज़माता है, और विस्फोटों की संख्या घातांकीय रूप से बढ़ती है। दो आदतें : पैटर्न को यथार्थवादी वॉल्यूम पर टेस्ट करना — «परफ़ॉर्मेंस» टैब यह आपके लिए करता है — और बाहर से आए, आकार-सीमारहित इनपट पर कभी भी अनऑडिटेड regex न चलाना। सर्वर पर अटकी हुई regex पूरे worker को timeout समाप्त होने तक जमा देती है।

JavaScript, PCRE, Python : वही आधार, कुछ फ़र्क

टेस्टर ब्राउज़र के नेटिव इंजन यानी ECMAScript का उपयोग करता है। बुनियादी सिंटैक्स — क्लास, क्वांटिफायर, समूह, lookahead, फ्लैग g i m s u y — PCRE (PHP, Perl) और Python के re, Java और Go में साझे हैं। फ़र्क मुख्यतः lookbehind (JavaScript में लंबे समय तक अनुपस्थित, अब समर्थित), Unicode प्रॉपर्टी और ऐसे इनलाइन फ्लैग पर हैं जैसे (?i), जो केवल PCRE के हैं। इसलिए एक भाषा से दूसरी भाषा में पैटर्न का अनुवाद करना बारीकी का काम है — आविष्कार का नहीं।

इनके लिए उपयुक्त

फ्रंट-एंड और बैक-एंड डेवलपर्स (फ़ॉर्म वैलिडेशन, लॉग पार्सिंग, डेटा माइग्रेशन), ऑप्स और DevOps (कॉन्फ़िगरेशन फ़िल्टर, WAF नियम), टेस्टर और एनालिस्ट (कॉलम एक्सट्रैक्शन, फ़ॉर्मेट जाँच), कंटेंट राइटर और डेटा एनालिस्ट (फ़ाइल सफ़ाई), छात्र (मेटाकैरेक्टर समझने के लिए), और हर वह व्यक्ति जिसे एक नियमित अभिव्यक्ति टेस्टर तेज़, पूर्ण और गोपनीय — साथ में JSON फ़ॉर्मेटर, URL एन्कोडर-डीकोडर, Base64 एन्कोडर-डीकोडर और JWT एन्कोडर-डीकोडर.

FAQ

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

पैटर्न टेस्ट, बदल या समझाने से पहले जो कुछ भी आप जानना चाहते हैं।

ऑनलाइन नियमित अभिव्यक्ति कैसे टेस्ट करें ?

«नियमित अभिव्यक्ति (पैटर्न)» फ़ील्ड में पैटर्न लिखें, g, i, m, s, u या y फ्लैग चुनें, फिर अपना टेक्स्ट चिपकाएँ : मैच मूल टेक्स्ट में हाइलाइट होते हैं और इंडेक्स, लंबाई तथा हर कैप्चर समूह के मान के साथ तालिका में सूचीबद्ध होते हैं। सब कुछ हर कीस्ट्रोक पर पुनः गणना होता है, बिना बटन के।

g, i, m, s, u और y फ्लैगों का क्या अर्थ है ?

g सभी मैच ढूँढता है, सिर्फ पहले को नहीं, i केस नज़रअंदाज़ करता है, m ^ और $ को हर पंक्ति की शुरुआत और अंत पर मान्य बनाता है, s बिंदु को नई पंक्ति से भी मिलाता है, u जैसे \p{L} वाली Unicode सिंटैक्स चालू करता है, और y कर्सर की सही स्थिति से शुरुआत अनिवार्य करता है। ये JavaScript इंजन के फ्लैग हैं, जिन्हें PCRE और अधिकांश आधुनिक भाषाओं ने ज्यों के त्यों अपनाया है।

regex से टेक्स्ट कैसे बदलें ?

«बदलें» टैब में जाएँ, पैटर्न और रिप्लेसमेंट स्ट्रिंग दर्ज करें, फिर आउटपुट पढ़ें। $1, $2 कैप्चर समूहों को वापस डालते हैं, $& पूरे मैच को, और नामित समूह के लिए $ के बाद नाम। g फ्लैग के बिना सिर्फ पहला मैच बदला जाता है : उपकरण इसे फ़ील्ड के नीचे याद दिलाता है।

नियमित अभिव्यक्ति की पंक्ति-दर-पंक्ति व्याख्या कैसे करें ?

«व्याख्या» टैब पैटर्न को तत्वों में तोड़ता है — क्लास, एस्केप, समूह, lookaround, क्वांटिफायर — और हर एक के साथ उसका अर्थ तथा एक वास्तविक टेक्स्ट उदाहरण देता है। यह किसी पुराने प्रोजेक्ट से मिली regex को समझने, या अभी-अभी लिखी regex के सही काम करने की पुष्टि करने का सबसे तेज़ तरीका है।

नियमित अभिव्यक्ति क्या है और उसके मेटाकैरेक्टर कौन से हैं ?

नियमित अभिव्यक्ति स्ट्रिंग के समूह का वर्णन करने वाला पैटर्न है, जिसे पैटर्न-खोज इंजन पढ़ता है। मेटाकैरेक्टर . * + ? ^ $ | ( ) [ ] { } का अपना अर्थ है : बिंदु कोई भी वर्ण बनता है, * और + दोहराते हैं, ^ और $ एंकर करते हैं, | विकल्प अलग करता है और पैरेंथेसिस कैप्चर समूह बनाती हैं। बाकी सभी वर्ण शाब्दिक हैं, और जब वे आरक्षित हों तो बैकस्लैश उन्हें भी शाब्दिक बना देता है।

ReDoS क्या है और उसे कैसे टालें ?

ReDoS (Regular Expression Denial of Service) तब होता है जब गलत तरीके से बना पैटर्न — आमतौर पर (a+)+ जैसी नेस्टेड अल्टरनेशन — लगभग मेल खाते इनपुट पर backtracking की कोशिशों को घातांकीय रूप से बढ़ा देता है। «परफ़ॉर्मेंस» टैब उत्पन्न वॉल्यूम पर निष्पादन समय मापता है और पैटर्न के 250 ms पार करते ही जोखिम बताता है। अपने सर्वरों पर इनपुट आकार की सीमा लगाएँ और रैखिक इंजन पसंद करें।

मेरी regex मैच क्यों नहीं लौटाती ?

सबसे आम कारण : मल्टी-लाइन टेक्स्ट पर m फ्लैग के बिना इस्तेमाल किए गए एंकर ^ और $, ठीक से बंद न की गई वर्ण क्लास, i फ्लैग के अभाव में अनकवर केस, s फ्लैग के बिना लाइन ब्रेक न खाने वाला बिंदु, या ऐसा पैटर्न जो दरअसल कुछ और ही लिखता है। «व्याख्या» टैब ये फ़र्क एक पल में दिखा देता है।

क्या यह उपकरण मेरा टेक्स्ट सर्वर पर भेजता है ?

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

100 % स्थानीय regex टेस्टर : आपका टेक्स्ट कभी आपके कंप्यूटर से बाहर नहीं जाता

पारंपरिक ऑनलाइन regex टेस्टरों के विपरीत, यहाँ कोई लाइन नहीं भेजी जाती : विश्लेषण, हाइलाइटिंग, प्रतिस्थापन, व्याख्या और परफ़ॉर्मेंस माप पूरी तरह आपके ब्राउज़र में चलते हैं, बिना किसी थर्ड-पार्टी लाइब्रेरी या नेटवर्क अनुरोध के। इसीलिए असली एप्लिकेशन लॉग, कॉन्फ़िगरेशन फ़ाइल या क्रेडेंशियल वाला डेटा अंश — ऑफ़लाइन या पब्लिक नेटवर्क पर भी — चिपकाया जा सकता है। पैटर्न, फ्लैग, टेक्स्ट और इतिहास आपके उपकरण के स्थानीय स्टोरेज में रहते हैं।

लाइसेंस Volade Premium वैकल्पिक, एन्क्रिप्टेड क्लाउड सिंक जोड़ता है, जो उपकरण से स्वतंत्र है — बाकी सब कुछ मुफ़्त और असीमित बना रहता है, बिना पंजीकरण के।

एक प्रीमियम लाइसेंस, आपके सभी वेब उपकरण

regex टेस्टर, JSON फ़ॉर्मेटर, URL एन्कोडर-डीकोडर, Base64, JWT डीकोडर, जनरेटर और दर्जनों मुफ़्त उपकरण — और एक ही लाइसेंस में पूरा Volade पारिस्थितिकी तंत्र।

एक लाइसेंस, पूरा प्रीमियम इकोसिस्टम ब्राउज़र · CMS · डेस्कटॉप · मोबाइल · स्क्रिप्ट्स · API · टूल · Database
एक लाइसेंस, सब कुछ प्रीमियम लें लॉग इन