Regex टेस्टर
अपने ब्राउज़र में तुरंत रेगुलर एक्सप्रेशन टेस्ट और डीबग करें। मैच हाइलाइट करें, कैप्चर ग्रुप देखें और रिप्लेस मोड का उपयोग करें — मुफ़्त और निजी।
अपने ब्राउज़र में तुरंत रेगुलर एक्सप्रेशन टेस्ट और डीबग करें। मैच हाइलाइट करें, कैप्चर ग्रुप देखें और रिप्लेस मोड का उपयोग करें — मुफ़्त और निजी।
नियमित अभिव्यक्ति पाठ में मिलान पैटर्न के लिए एक डोमेन-विशिष्ट भाषा है। वे 1968 से कंप्यूटिंग का हिस्सा रहे हैं और अब हर आधुनिक प्रोग्रामिंग भाषा, टेक्स्ट एडिटर और कमांड-लाइन सर्च टूल में निर्मित हैं। वाक्यविन्यास संक्षिप्त है लेकिन त्रुटि-प्रवण है: छोटे परिवर्तन सूक्ष्म रूप से भिन्न मिलान व्यवहार उत्पन्न करते हैं, और जटिल अभिव्यक्तियाँ जल्दी से अपठनीय हो जाती हैं। एक परीक्षक जो पैटर्न को संपादित करते समय वास्तविक समय में मिलान दिखाता है, रेगेक्स को विकसित करने और सत्यापित करने का सबसे प्रभावी तरीका है।
यह परीक्षक आपके ब्राउज़र में जावास्क्रिप्ट रेगेक्स इंजन का उपयोग करके चलता है (यदि आपका एप्लिकेशन ब्राउज़र में चलता है तो वही इंजन उपयोग करता है)। पैटर्न और परीक्षण पाठ प्रतिक्रियात्मक रूप से अद्यतन होते हैं: प्रत्येक परिवर्तन या तो मैच को फिर से चलाता है। मिलान समूहों को हाइलाइट किया जाता है, कैप्चर किए गए समूहों को सूचीबद्ध किया जाता है, और फ़्लैग (केस-असंवेदनशील, मल्टीलाइन, ग्लोबल) को परीक्षण के लिए उजागर किया जाता है।
रेगेक्स सिंटैक्स इंजनों के बीच सूक्ष्म रूप से भिन्न होता है। जावास्क्रिप्ट ईसीएमएस्क्रिप्ट विशिष्टता का अनुसरण करता है; पायथन, पीसीआरई (पीएचपी और कई अन्य लोगों द्वारा प्रयुक्त), जावा और गो प्रत्येक की ओवरलैपिंग के साथ अपनी-अपनी बोलियाँ हैं लेकिन समान विशेषताएं नहीं हैं। यहां विकसित पैटर्न ईसीएमएस्क्रिप्ट सिंटैक्स का उपयोग करते हैं; क्रॉस-इंजन पोर्टेबिलिटी के लिए प्रत्येक लक्ष्य के दस्तावेज़ की जाँच की आवश्यकता होती है।
तैनाती के बाद रेगेक्स बग को डीबग करना बेहद कठिन है। एक पैटर्न जो उचित दिखता है वह अपेक्षा से अधिक या कम मेल खा सकता है, किनारे के मामलों में विफल हो सकता है, या कुछ इनपुट पर विनाशकारी बैकट्रैकिंग हो सकता है। प्रतिनिधि इनपुट के विरुद्ध अंतःक्रियात्मक रूप से परीक्षण पैटर्न कोड समीक्षा और उत्पादन से पहले मुद्दों को पकड़ता है।
दस्तावेज़ीकरण से पैटर्न को भी लाभ होता है। जिस इनपुट से इसे मेल खाना चाहिए और जिस इनपुट से इसे मेल नहीं खाना चाहिए, उसके साथ एक रेगेक्स दिखाना इरादे को स्पष्ट करता है। भविष्य के अनुरक्षक (छह महीने में आप सहित) चतुर वन-लाइनर्स की तुलना में प्रलेखित परीक्षण मामलों की अधिक सराहना करते हैं।
एक पैटर्न टाइप करें, परीक्षण इनपुट टाइप करें, हाइलाइट किए गए मैचों को लाइव देखें।
जावास्क्रिप्ट रेगेक्स ईसीएमएस्क्रिप्ट विनिर्देश का पालन करता है। प्रमुख विशेषताएं: चरित्र वर्ग ([एबीसी], [^एबीसी]), क्वांटिफायर (*, +, ?, {एन,एम}), अल्टरनेशन (|), ग्रुपिंग ((...)), कैप्चरिंग और नॉन-कैप्चरिंग ग्रुप, लुकआहेड और लुकबैक (आधुनिक इंजन), बैकरेफरेंस, नामित समूह, यूनिकोड प्रॉपर्टी एस्केप (यू फ्लैग के साथ), और एस्केप अनुक्रमों का मानक सेट।
पीसीआरई और पायथन से महत्वपूर्ण अंतर: जावास्क्रिप्ट (2018+) में लुकबैक समर्थन हाल ही में है; नामित समूह (?<नाम>...) वाक्यविन्यास का उपयोग करते हैं; कुछ यूनिकोड एस्केप के लिए यू ध्वज को सही ढंग से काम करने की आवश्यकता होती है। क्रॉस-भाषा उपयोग के लिए इच्छित पैटर्न को प्रत्येक लक्ष्य के दस्तावेज़ के विरुद्ध जांचा जाना चाहिए।
प्रदर्शन: बैकट्रैकिंग-आधारित रेगेक्स इंजन (ज्यादातर जावास्क्रिप्ट सहित) में कुछ पैथोलॉजिकल पैटर्न पर विनाशकारी बैकट्रैकिंग हो सकती है। परीक्षण जो परीक्षक को लटकाते हैं, एक संकेत है कि पैटर्न को सरलीकरण की आवश्यकता है - आमतौर पर नेस्टेड क्वांटिफायर और अस्पष्ट विकल्प से बचकर।