मोफत कनवर्टर

Regex परीक्षक

तुमच्या ब्राउझरमध्ये रेग्युलर एक्सप्रेशन्सची झटपट चाचणी आणि डीबग करा. सामने हायलाइट करा, कॅप्चर गट पहा आणि रिप्लेस मोड वापरा — विनामूल्य आणि खाजगी.

//g
ध्वज:

या साधनाबद्दल

रेग्युलर एक्सप्रेशन ही मजकूरातील नमुन्यांची जुळणी करण्यासाठी डोमेन-विशिष्ट भाषा आहे. ते 1968 पासून संगणनाचा भाग आहेत आणि आता प्रत्येक आधुनिक प्रोग्रामिंग भाषा, मजकूर संपादक आणि कमांड-लाइन शोध साधनामध्ये तयार केले गेले आहेत. वाक्यरचना संक्षिप्त आहे परंतु त्रुटी-प्रवण आहे: लहान बदल सूक्ष्मपणे भिन्न जुळणी वर्तन तयार करतात आणि जटिल अभिव्यक्ती पटकन वाचता येत नाहीत. तुम्ही पॅटर्न संपादित करता तेव्हा रिअल टाइममध्ये जुळणारे परीक्षक हे regex विकसित करण्याचा आणि सत्यापित करण्याचा सर्वात प्रभावी मार्ग आहे.

हे टेस्टर तुमच्या ब्राउझरमध्ये JavaScript regex इंजिन वापरून चालते (जे ब्राउझरमध्ये चालत असल्यास तुमचा ॲप्लिकेशन वापरतो). नमुने आणि चाचणी मजकूर प्रतिक्रियाशीलपणे अद्यतनित करा: प्रत्येक बदल एकतर सामना पुन्हा चालवतो. जुळणारे गट हायलाइट केले जातात, कॅप्चर केलेले गट सूचीबद्ध केले जातात आणि ध्वज (केस-संवेदनशील, मल्टीलाइन, ग्लोबल) चाचणीसाठी उघड केले जातात.

Regex वाक्यरचना इंजिन दरम्यान सूक्ष्मपणे बदलते. JavaScript ECMAScript स्पेक फॉलो करते; Python, PCRE (PHP आणि इतर अनेकांनी वापरलेले), Java, आणि Go या प्रत्येकाच्या स्वतःच्या बोलीभाषा आहेत ज्यात ओव्हरलॅपिंग आहे परंतु समान वैशिष्ट्ये नाहीत. येथे विकसित केलेले नमुने ECMAScript वाक्यरचना वापरतात; क्रॉस-इंजिन पोर्टेबिलिटीसाठी प्रत्येक लक्ष्याचे दस्तऐवजीकरण तपासणे आवश्यक आहे.

रेजेक्स टेस्टर का वापरावे

Regex बग उपयोजनानंतर डीबग करणे कठीण आहे. वाजवी दिसणारा नमुना हेतूपेक्षा जास्त किंवा कमी जुळू शकतो, एज केसेसमध्ये अयशस्वी होऊ शकतो किंवा विशिष्ट इनपुटवर आपत्तीजनक बॅकट्रॅकिंग असू शकतो. कोड पुनरावलोकन आणि उत्पादनापूर्वी प्रतिनिधी इनपुटच्या विरूद्ध संवादात्मकपणे चाचणी नमुने समस्या पकडतात.

दस्तऐवजीकरणाचाही फायदा होतो. इनपुटसह ते जुळले पाहिजे आणि ते जुळू नये असे इनपुटसह regex दर्शविल्याने हेतू स्पष्ट होतो. भविष्यातील देखरेख करणारे (सहा महिन्यांत स्वतःसह) दस्तऐवजीकरण केलेल्या चाचणी प्रकरणांची ते हुशार वन-लाइनर्सची प्रशंसा करतात त्यापेक्षा जास्त कौतुक करतात.

कसे वापरावे

नमुना टाइप करा, चाचणी इनपुट टाइप करा, थेट हायलाइट केलेले सामने पहा.

  1. तुमचा नमुना प्रविष्ट करा: पॅटर्न फील्डमध्ये regex नमुना टाइप करा. शाब्दिक regex (/pattern/flags) आणि पॅटर्न-केवळ फॉर्म दोन्ही कार्य करतात; ध्वज इनपुटद्वारे ध्वज सेट केले जाऊ शकतात.
  2. चाचणी इनपुट जोडा: नमुना जुळणारा नमुना मजकूर पेस्ट करा (आणि आदर्शपणे मजकूर देखील तो जुळू नये). परीक्षक इनपुट विरुद्ध पॅटर्न चालवतो आणि सामने हायलाइट करतो.
  3. झेंडे सेट करा: सामान्य ध्वज: g (जागतिक, सर्व जुळण्या शोधा), i (केस-असंवेदनशील), m (बहुरेखा, ^ आणि $ जुळणारी ओळ सुरू/समाप्त होते), s (डॉटल, . नवीनलाइनशी जुळते), u (युनिकोड).
  4. परिणामांची तपासणी करा: प्रत्येक सामना इनपुटमध्ये हायलाइट केला जातो. कॅप्चर गट गट निर्देशांक आणि मूल्यासह सूचीमध्ये दिसतात. परीक्षक मॅचची संख्या आणि पॅटर्नमधील कोणत्याही संकलन त्रुटी देखील दर्शवितो.

सामान्य वापर प्रकरणे

तांत्रिक तपशील

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

PCRE आणि Python मधील महत्त्वाचे फरक: JavaScript (2018+) मध्ये लुकबिहाइंड सपोर्ट अलीकडील आहे; नामांकित गट (?<name>...) वाक्यरचना वापरतात; काही युनिकोड एस्केपसाठी यू ध्वज योग्यरित्या कार्य करणे आवश्यक आहे. प्रत्येक लक्ष्याच्या दस्तऐवजीकरणासाठी क्रॉस-भाषा वापरासाठी अभिप्रेत असलेले नमुने तपासले पाहिजेत.

कार्यप्रदर्शन: बॅकट्रॅकिंग-आधारित रेजेक्स इंजिन (बहुतेक JavaScript सह) विशिष्ट पॅथॉलॉजिकल पॅटर्नवर आपत्तीजनक बॅकट्रॅकिंग असू शकतात. टेस्टरला टांगलेल्या चाचण्या हे लक्षण आहे की पॅटर्नला सरलीकरण आवश्यक आहे — विशेषत: नेस्टेड क्वांटिफायर आणि अस्पष्ट बदल टाळून.

सर्वोत्तम पद्धती

वारंवार विचारले जाणारे प्रश्न

हे साधन कोणत्या रेजेक्स फ्लेवरला सपोर्ट करते?
हे JavaScript चे अंगभूत RegExp इंजिन वापरते, जे लूकहेड्स, लुक बिहाइंड्स (आधुनिक ब्राउझरमध्ये), नावाच्या कॅप्चर ग्रुप्स आणि युनिकोड प्रॉपर्टी एस्केप्ससह मानक वाक्यरचनांना समर्थन देते.
मी regex बदलण्याची चाचणी करू शकतो का?
होय. बदली पॅटर्न एंटर करण्यासाठी रिप्लेस मोडवर स्विच करा. तुम्ही कॅप्चर ग्रुप बॅक-रेफरेंससाठी $1, $2, इत्यादी वापरू शकता आणि नामित गटांसाठी $<name> वापरू शकता.
Python/PHP पेक्षा माझे regex येथे वेगळे का जुळते?
वेगवेगळ्या प्रोग्रामिंग भाषांमध्ये थोडी वेगळी regex इंजिन असतात. JavaScript possessive quantifiers किंवा काही PCRE-विशिष्ट वैशिष्ट्यांना सपोर्ट करत नाही. मुख्य वाक्यरचना (वर्ण वर्ग, परिमाण, गट) भाषांमध्ये समान आहे.
साधन माझे regex नमुने जतन करते?
नाही. काहीही जतन किंवा प्रसारित केले जात नाही. साधन पूर्णपणे तुमच्या ब्राउझरमध्ये चालते. तुम्ही regex स्ट्रिंग कॉपी करून नमुने बुकमार्क करू शकता किंवा शेअर करू शकता.
मी अक्षरशः विशेष वर्ण कसे जुळवू?
बॅकस्लॅशसह ते एस्केप करा. शाब्दिक बिंदू जुळण्यासाठी: \. शाब्दिक बॅकस्लॅश जुळण्यासाठी: \\. वर्ण वर्गाच्या आत [...], बहुतेक विशेष वर्ण त्यांचा अर्थ गमावतात.
सर्व्हरवर टेस्टर चालू आहे का?
नाही. नमुना संकलन आणि जुळणी तुमच्या ब्राउझरमध्ये मूळ RegExp ऑब्जेक्ट वापरून होते.
जावास्क्रिप्ट नसलेल्या इंजिनांसाठी मी नमुने तपासू शकतो का?
बहुतेक. साध्या नमुन्यांसाठी प्रमुख इंजिन सहमत आहेत. प्रगत वैशिष्ट्यांसाठी (मागे पाहा, अणू गट, स्वत्वाचा परिमाण, युनिकोड प्रॉपर्टी एस्केप्स), लक्ष्य इंजिनच्या दस्तऐवजीकरणाची पुष्टी करा.
ते खूप मोठे इनपुट हाताळते का?
काही मेगाबाइट्स पर्यंत सहजतेने कार्य करते. मोठ्या इनपुटमुळे ब्राउझर धीमा होऊ शकतो किंवा हँग होऊ शकतो, विशेषत: बॅकट्रॅकिंगसाठी प्रवण असलेल्या पॅटर्नसह.