मुफ्त कनवर्टर

Regex टेस्टर

अपने ब्राउज़र में तुरंत रेगुलर एक्सप्रेशन टेस्ट और डीबग करें। मैच हाइलाइट करें, कैप्चर ग्रुप देखें और रिप्लेस मोड का उपयोग करें — मुफ़्त और निजी।

//g
फ्लैग:

इस टूल के बारे में

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

यह परीक्षक आपके ब्राउज़र में जावास्क्रिप्ट रेगेक्स इंजन का उपयोग करके चलता है (यदि आपका एप्लिकेशन ब्राउज़र में चलता है तो वही इंजन उपयोग करता है)। पैटर्न और परीक्षण पाठ प्रतिक्रियात्मक रूप से अद्यतन होते हैं: प्रत्येक परिवर्तन या तो मैच को फिर से चलाता है। मिलान समूहों को हाइलाइट किया जाता है, कैप्चर किए गए समूहों को सूचीबद्ध किया जाता है, और फ़्लैग (केस-असंवेदनशील, मल्टीलाइन, ग्लोबल) को परीक्षण के लिए उजागर किया जाता है।

रेगेक्स सिंटैक्स इंजनों के बीच सूक्ष्म रूप से भिन्न होता है। जावास्क्रिप्ट ईसीएमएस्क्रिप्ट विशिष्टता का अनुसरण करता है; पायथन, पीसीआरई (पीएचपी और कई अन्य लोगों द्वारा प्रयुक्त), जावा और गो प्रत्येक की ओवरलैपिंग के साथ अपनी-अपनी बोलियाँ हैं लेकिन समान विशेषताएं नहीं हैं। यहां विकसित पैटर्न ईसीएमएस्क्रिप्ट सिंटैक्स का उपयोग करते हैं; क्रॉस-इंजन पोर्टेबिलिटी के लिए प्रत्येक लक्ष्य के दस्तावेज़ की जाँच की आवश्यकता होती है।

रेगेक्स परीक्षक का उपयोग क्यों करें?

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

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

कैसे उपयोग करें

एक पैटर्न टाइप करें, परीक्षण इनपुट टाइप करें, हाइलाइट किए गए मैचों को लाइव देखें।

  1. अपना पैटर्न दर्ज करें: पैटर्न फ़ील्ड में रेगेक्स पैटर्न टाइप करें। शाब्दिक रेगेक्स (/पैटर्न/झंडे) और पैटर्न-केवल फॉर्म दोनों काम करते हैं; झंडे इनपुट के माध्यम से झंडे सेट किए जा सकते हैं।
  2. परीक्षण इनपुट जोड़ें: नमूना पाठ चिपकाएँ जिससे पैटर्न मेल खाना चाहिए (और आदर्श रूप से वह पाठ भी मेल नहीं खाना चाहिए)। परीक्षक इनपुट के विरुद्ध पैटर्न चलाता है और मिलानों को हाइलाइट करता है।
  3. झंडे सेट करें: सामान्य झंडे: जी (वैश्विक, सभी मिलान खोजें), आई (केस-असंवेदनशील), एम (मल्टीलाइन, ^ और $ मैच लाइन शुरू/समाप्ति), एस (डॉटल, . न्यूलाइन से मेल खाता है), यू (यूनिकोड)।
  4. परिणामों का निरीक्षण करें: प्रत्येक मैच को इनपुट में हाइलाइट किया गया है। कैप्चर समूह समूह सूचकांक और मान के साथ एक सूची में दिखाई देते हैं। परीक्षक मिलानों की गिनती और पैटर्न में किसी भी संकलन त्रुटि को भी दिखाता है।

सामान्य उपयोग के मामले

तकनीकी विवरण

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

पीसीआरई और पायथन से महत्वपूर्ण अंतर: जावास्क्रिप्ट (2018+) में लुकबैक समर्थन हाल ही में है; नामित समूह (?<नाम>...) वाक्यविन्यास का उपयोग करते हैं; कुछ यूनिकोड एस्केप के लिए यू ध्वज को सही ढंग से काम करने की आवश्यकता होती है। क्रॉस-भाषा उपयोग के लिए इच्छित पैटर्न को प्रत्येक लक्ष्य के दस्तावेज़ के विरुद्ध जांचा जाना चाहिए।

प्रदर्शन: बैकट्रैकिंग-आधारित रेगेक्स इंजन (ज्यादातर जावास्क्रिप्ट सहित) में कुछ पैथोलॉजिकल पैटर्न पर विनाशकारी बैकट्रैकिंग हो सकती है। परीक्षण जो परीक्षक को लटकाते हैं, एक संकेत है कि पैटर्न को सरलीकरण की आवश्यकता है - आमतौर पर नेस्टेड क्वांटिफायर और अस्पष्ट विकल्प से बचकर।

सर्वोत्तम प्रथाएँ

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

यह उपकरण किस रेगेक्स फ्लेवर का समर्थन करता है?
यह जावास्क्रिप्ट के अंतर्निहित रेगएक्सपी इंजन का उपयोग करता है, जो लुकहेड्स, लुकबिहाइंड्स (आधुनिक ब्राउज़र में), नामित कैप्चर ग्रुप और यूनिकोड प्रॉपर्टी एस्केप सहित मानक वाक्यविन्यास का समर्थन करता है।
क्या मैं रेगेक्स प्रतिस्थापनों का परीक्षण कर सकता हूँ?
हाँ। प्रतिस्थापन पैटर्न दर्ज करने के लिए रिप्लेस मोड पर स्विच करें। आप कैप्चर ग्रुप बैक-रेफरेंस के लिए $1, $2, आदि का उपयोग कर सकते हैं, और नामित समूहों के लिए $<name> का उपयोग कर सकते हैं।
मेरा रेगेक्स यहां पायथन/PHP से भिन्न क्यों मेल खाता है?
विभिन्न प्रोग्रामिंग भाषाओं में थोड़े भिन्न रेगेक्स इंजन होते हैं। जावास्क्रिप्ट स्वामित्व वाले क्वांटिफायर या कुछ पीसीआरई-विशिष्ट सुविधाओं का समर्थन नहीं करता है। मूल वाक्यविन्यास (वर्ण वर्ग, परिमाणक, समूह) सभी भाषाओं में समान है।
क्या उपकरण मेरे रेगेक्स पैटर्न को सहेजता है?
नहीं, कुछ भी सहेजा या प्रसारित नहीं किया गया है। यह टूल पूरी तरह से आपके ब्राउज़र में चलता है। आप रेगेक्स स्ट्रिंग को कॉपी करके पैटर्न को बुकमार्क या साझा कर सकते हैं।
मैं किसी शाब्दिक विशेष वर्ण का मिलान कैसे करूँ?
बैकस्लैश के साथ इससे बचिए। शाब्दिक बिंदु से मिलान करने के लिए: \. शाब्दिक बैकस्लैश से मिलान करने के लिए: \\. चरित्र वर्गों के अंदर, अधिकांश विशेष वर्ण अपना अर्थ खो देते हैं।
क्या परीक्षक सर्वर पर चल रहा है?
नहीं, पैटर्न संकलन और मिलान आपके ब्राउज़र में मूल RegExp ऑब्जेक्ट का उपयोग करके होता है।
क्या मैं गैर-जावास्क्रिप्ट इंजनों के लिए पैटर्न का परीक्षण कर सकता हूँ?
ज्यादातर। सरल पैटर्न के लिए प्रमुख इंजन सहमत हैं। उन्नत सुविधाओं (लुकबैक, परमाणु समूह, स्वामित्व परिमाणक, यूनिकोड संपत्ति एस्केप) के लिए, लक्ष्य इंजन के दस्तावेज़ के विरुद्ध पुष्टि करें।
क्या यह बहुत बड़े इनपुट को संभालता है?
कुछ मेगाबाइट तक यह सुचारू रूप से काम करता है। बड़े इनपुट ब्राउज़र को धीमा कर सकते हैं या हैंग कर सकते हैं, विशेष रूप से पैटर्न के बैकट्रैकिंग की संभावना के साथ।