Regex परीक्षक
नियमित अभिव्यक्तियाँ जाँचिए, मेल और समूहों की लाइव हाइलाइटिंग के साथ
इस टूल के बारे में
कोई पैटर्न लिखिए, नमूना पाठ चिपकाइए, और हर मेल टाइप करते ही हाइलाइट होता जाएगा — नीचे कैप्चर समूह, नामित समूह और मेल की स्थितियाँ सूचीबद्ध रहेंगी। यह परीक्षक JavaScript के RegExp इंजन का उपयोग करता है, इसलिए व्यवहार ठीक वही है जो Node.js और ब्राउज़र करेंगे, जिसमें lookbehind, नामित समूह और यूनिकोड प्रॉपर्टी एस्केप शामिल हैं।
फ़्लैग अक्षर-दर-अक्षर चालू होते हैं (g, i, m, s, u, y, d) और पैटर्न हर कुंजी-दाब पर संकलित होता है; वाक्य-रचना की त्रुटियाँ किसी बटन के इंतज़ार के बिना, इंजन के अपने संदेश के साथ तुरंत दिखती हैं। a* जैसे रिक्त-मेल वाले पैटर्न सुरक्षित ढंग से सँभाले जाते हैं, और मेलों की संख्या 10,000 पर सीमित है ताकि कोई भटका हुआ .* टैब को जमा न दे।
Regex की बोलियाँ इंजनों के बीच भिन्न होती हैं — जो पैटर्न यहाँ चलता है उसे PCRE, RE2 या Python के re मॉड्यूल के लिए बदलना पड़ सकता है, मुख्यतः lookbehind समर्थन, possessive क्वांटिफ़ायर और इनलाइन फ़्लैग के मामलों में।
अक्सर पूछे जाने वाले प्रश्न
- यह परीक्षक regex का कौन-सा रूप इस्तेमाल करता है?
- ECMAScript (JavaScript), जैसा आपके अपने ब्राउज़र ने लागू किया है। यह lookahead, lookbehind, नामित कैप्चर समूह, backreference और \p{Letter} जैसे यूनिकोड प्रॉपर्टी एस्केप (u फ़्लैग के साथ) समर्थित करता है। केवल PCRE वाली वाक्य-रचना, जैसे possessive क्वांटिफ़ायर या पुनरावर्तन, समर्थित नहीं है।
- मेरा पैटर्न सब कुछ / कुछ भी क्यों नहीं पकड़ता?
- दो क्लासिक कारण: बिना एस्केप किया मेटा-वर्ण (. किसी भी वर्ण से मेल खाता है — शाब्दिक बिंदु के लिए \. लिखिए), या मन ही मन छूटा हुआ g फ़्लैग — यह परीक्षक हमेशा सारे मेल ढूँढ़ता है, पर आपका कोड g के बिना केवल पहला ही पाएगा।
- नामित कैप्चर समूह क्या हैं?
- वाक्य-रचना (?<नाम>...) किसी समूह को नाम देती है, ताकि आप मेल स्थिति के बजाय नाम से पढ़ सकें: JavaScript में match.groups.नाम। मेलों के नीचे का समूह-पैनल हर मेल के लिए संख्यांकित और नामित दोनों कैप्चर दिखाता है।
- क्या यहाँ का regex Python या Go में बिना बदले चलेगा?
- अक्सर, पर हमेशा नहीं। वर्ण-वर्ग, क्वांटिफ़ायर और ऐंकर स्थानांतरणीय हैं; lookbehind, नामित समूह की वाक्य-रचना (Python (?P<नाम>...) इस्तेमाल करता है) और इनलाइन फ़्लैग भिन्न हैं। Go का RE2 इंजन तो backreference और lookaround को पूरी तरह अस्वीकार भी करता है।