मुख्य बिंदु
- 01परीक्षक आपके ब्राउज़र के देशी JavaScript RegExp इंजन का उपयोग करता है, इसलिए परिणाम बिल्कुल वही हैं जो Node.js या एक आधुनिक ब्राउज़र उत्पादन में उत्पन्न करेगा।
- 02सभी छह JavaScript ध्वज (g, i, m, s, y, u) अलग-अलग उपलब्ध हैं।
- 03प्रतिस्थापन टेम्पलेट शक्तिशाली प्रतिस्थापन पूर्वावलोकन के लिए $1, $2, $& और $$ का समर्थन करते हैं।
- 04कुछ भी सर्वर को नहीं भेजा जाता है — पैटर्न और परीक्षण स्ट्रिंग पूरी तरह आपके ब्राउज़र में रहते हैं।
क्यों एक समर्पित Regex परीक्षक आपके IDE को हराता है
नियमित अभिव्यक्तियां शक्तिशाली हैं लेकिन एक नज़र में पढ़ना कुख्यात रूप से कठिन हैं। यहां तक कि अनुभवी डेवलपर भी आश्चर्य में पड़ जाते हैं: एक बिंदु जो नई पंक्तियों को निगल लेता है, एक लोभी परिमाणक जो बहुत अधिक खपत करता है, या एक कैप्चर समूह जो एक बंद है। एक समर्पित परीक्षक आसपास के कोड को हटा देता है ताकि आप एक ही समय में केवल पैटर्न और इनपुट स्ट्रिंग पर पुनरावृत्ति कर सकें।
Handytool का regex परीक्षक ब्राउज़र के देशी ECMAScript RegExp इंजन के साथ पैटर्न का मूल्यांकन करता है, जिसका मतलब है कि कोई अनुवाद परत नहीं है और कोई स्वाद बेमेल नहीं है। यदि परीक्षक कहता है कि यह मेल खाता है, तो आपका JavaScript कोड भी करेगा। ध्वज को टॉगल करें, एक ताजी नमूना स्ट्रिंग पेस्ट करें, और परिणाम तुरंत अपडेट होते हैं — कोई रन बटन आवश्यक नहीं है।
एक Regex पैटर्न कैसे परीक्षण करें
पूरा वर्कफ़्लो एक मिनट से कम समय लेता है।
- 01
अपने पैटर्न को पेस्ट या टाइप करें
पैटर्न फील्ड में अपनी नियमित अभिव्यक्ति दर्ज करें। आसपास के स्लैश को छोड़ दें — ध्वज अलग से सेट किए जाते हैं।
- 02
अपने ध्वज सेट करें
g, i, m, s, y और u को अलग-अलग टॉगल करें। वैश्विक ध्वज मल्टी-मेल उपयोग के मामलों के लिए लगभग हमेशा आवश्यक है।
- 03
अपनी परीक्षण स्ट्रिंग पेस्ट करें
वह पाठ जोड़ें जिसे आप मेल खाना चाहते हैं। हर कीस्ट्रोक पैटर्न को फिर से चलाता है और इनपुट में मेल को हाइलाइट करता है।
- 04
कैप्चर समूहों का निरीक्षण करें
प्रत्येक मेल की स्थिति और हर संख्यात्मक कैप्चर समूह के मूल्य को देखने के लिए मेल सूची को स्क्रॉल करें।
- 05
एक प्रतिस्थापन पूर्वावलोकन करें
$1, $2 या $& का उपयोग करके एक प्रतिस्थापन टेम्पलेट दर्ज करें, यह देखने के लिए कि प्रतिस्थापित आउटपुट लाइव दिखता है — आप इसे लिखने से पहले String.replace() कॉल को मान्य करने के लिए बहुत अच्छा है।
त्वरित Regex डीबगिंग चेकलिस्ट
एक बग मानने से पहले, इनके माध्यम से चलाएं:
- 01क्या वैश्विक ध्वज सक्षम है यदि आप एक से अधिक मेल की अपेक्षा करते हैं?
- 02क्या डॉट्स को नई पंक्तियों से मेल खाना चाहिए? यदि ऐसा है तो s ध्वज सक्षम करें।
- 03क्या आप प्रतिस्थापन में संख्यात्मक समूह ($1, $2) या नामित समूह (\k<name>) का उपयोग कर रहे हैं?
- 04क्या पैटर्न Unicode एस्केप (\p{…}) का उपयोग करता है? u ध्वज की आवश्यकता है।
- 05क्या स्टिकी ध्वज (y) को हर मेल के लिए ताजा lastIndex की आवश्यकता है?
डिज़ाइन द्वारा निजी
Regex परीक्षक जब आप टाइप करते हैं तो कोई नेटवर्क अनुरोध नहीं करता है। आपके पैटर्न और परीक्षण स्ट्रिंग को ब्राउज़र के JavaScript इंजन द्वारा पूरी तरह से संसाधित किया जाता है — वह कभी सर्वर को स्पर्श नहीं करता। यह मालिकाना लॉग लाइन, आंतरिक API पेलोड या डीबग करते समय संवेदनशील स्ट्रिंग पेस्ट करने के लिए सुरक्षित बनाता है।
क्योंकि कोई बैकएंड शामिल नहीं है, कोई दर सीमा नहीं है, कोई खाता आवश्यक नहीं है, और आपके ब्राउज़र टैब संभाल सकता है उससे परे कोई पेस्ट आकार प्रतिबंध नहीं है। अधिकांश रोजमर्रा के पैटर्न और स्ट्रिंग एक मिलीसेकंड से कम में मूल्यांकन किए जाते हैं।
Regex परीक्षक FAQ
यह परीक्षक कौन सी regex स्वाद का उपयोग करता है?
JavaScript (ECMAScript)। पैटर्न ब्राउज़र के देशी RegExp इंजन द्वारा मूल्यांकन किए जाते हैं, Node.js और आधुनिक ब्राउज़र व्यवहार से बिल्कुल मेल खाते हैं। Lookbehinds, नामित समूह और Unicode प्रॉपर्टी एस्केप (\p{…} u ध्वज के साथ) सभी समर्थित हैं।
क्या मेरा पैटर्न या परीक्षण स्ट्रिंग पृष्ठ छोड़ता है?
नहीं। सब कुछ आपके ब्राउज़र में स्थानीय रूप से चलता है — जब आप एक पैटर्न टाइप करते हैं, ध्वज बदलते हैं, या पूर्वावलोकन प्रतिस्थापन करते हैं तब कोई नेटवर्क अनुरोध नहीं किया जाता है।
मैं प्रतिस्थापन क्षेत्र में कैप्चर समूहों का उपयोग कैसे करूँ?
संख्यात्मक समूहों के लिए $1, $2, ... का उपयोग करें, पूरे मेल के लिए $& और एक शाब्दिक डॉलर चिन्ह डालने के लिए $$ का उपयोग करें। पूर्वावलोकन तुरंत अपडेट होता है जैसे ही आप पैटर्न या टेम्पलेट को बदलते हैं।
क्या यह Python या PCRE पैटर्न के लिए काम करता है?
इंजन JavaScript है, इसलिए अधिकांश बुनियादी पैटर्न समान रूप से व्यवहार करते हैं, लेकिन Python-शैली (?P<name>…) नामित समूह और मालिकाना परिमाणक समर्थित नहीं हैं। JS समतुल्य का उपयोग करें — नामित समूहों के लिए (?<name>…)।
मेरा regex लाइन ब्रेक के पार क्यों मेल नहीं खाता?
s (डॉट-सभी) ध्वज सक्षम करें, या . को [\s\S] के साथ प्रतिस्थापित करें। इसके बिना, बिंदु नई पंक्ति को छोड़कर किसी भी चरित्र से मेल खाता है।