आपका कार्य एक ऐसा प्रोग्राम बनाना है जो यह निर्धारित करता है कि क्या एक दिए गए स्ट्रिंग एक वैध नियमित अभिव्यक्ति है या नहीं StackExchange नेटवर्क पर साइटों से लिए गए कोड स्निपेट का उपयोग कर रहा है।
इस चुनौती के उद्देश्यों के लिए, नियमित अभिव्यक्ति बोली एक छीन ली जाएगी और मेटा-वर्णों का अधिकतर न्यूनतम सेट ()*?|\
:। जैसे, आप बिल्ट-इन regex पार्सर का उपयोग नहीं कर पाएंगे।
\
मेटा-पात्रों से बचने के लिए उपयोग किया जाता है। यह एक मेटा-चरित्र द्वारा पीछा किया जाना चाहिए।- अनुपस्थित कोष्ठक संतुलित होना चाहिए
*
और?
पहले से ही एक गैर-मेटा-चरित्र, एक कोष्ठक समूह, या एक एस्केपेड मेटा-चरित्र से पहले होना चाहिए।- अन्य सभी मुद्रण योग्य ASCII वर्णों के साथ-साथ नईलाइन, टैब और स्थान को गैर-मेटा वर्णों के रूप में समर्थित किया जाना चाहिए। एक स्ट्रिंग के साथ क्या होता है जिसमें अन्य वर्ण अपरिभाषित होते हैं।
- इस चुनौती के लिए रेगेक्स का वास्तविक अर्थ महत्वपूर्ण नहीं है।
उदाहरण
Truthy:
abc
a?
(a|)*
()
a|b*
\*
\\
\\*
a*b?(cd|e)
+
[
}
(123\))*
\|
(a(b(c|d)*e)*f)*
(|\)*)
(abc)+*
(abc)+
+abc
^ last test case is an actual newline
Falsy:
?abc
*
**
\
(
a*?
a?*
?
a)
(\)
(|\)*
\()
|*
(?:abc)
\\**
\n
स्कोरिंग
आपका समग्र स्कोर StackExchange के आसपास प्रश्नों और उत्तरों से लिए गए स्निपेट्स की संख्या है।
- बार-बार स्निपेट जितनी बार उपयोग किए जाते हैं, उतनी बार गिनते हैं।
- व्हाट्सएप को स्वतंत्र रूप से जोड़ा और हटाया जा सकता है (क्योंकि पायथन, हास्केल, और अन्य व्हाट्सएप-संवेदनशील भाषाओं के कारण) और आपके स्निपेट की गिनती नहीं करता है।
- यदि आपका कोड वास्तव में व्हॉट्सएप में लिखा गया है तो अपवाद होगा ।
- किसी भी StackExchange साइट से स्निपेट की अनुमति तब तक दी जाती है जब तक वे प्रश्न, उत्तर और टिप्पणियों से आते हैं जो पुराने हैं (संपादन समय द्वारा - यदि आवश्यक हो तो पुराने संशोधन का उपयोग करें)। (24 सितंबर, 2019 @ 3:30 अपराह्न यूटीसी)
- स्निपेट्स एक प्रश्न, उत्तर या टिप्पणी बॉडी में कहीं से भी आ सकते हैं, चाहे वह प्रीफ़ॉर्मेट कोड ब्लॉक में हो या न हो।
- एक स्निपेट को दूसरे के बीच में विभाजित करने से बाहरी स्निपेट को दो स्निपेट के रूप में गिना जाता है
सबसे कम स्कोर जीत!