चुनौती
एक वैध रेगेक्स को देखते हुए, एक रेगेक्स का उत्पादन करता है जो स्ट्रिंग्स के समान सेट से मेल खाता है, लेकिन उलटा हुआ।
काम
यह चुनौती सबसे बुनियादी regex संचालन का उपयोग करता है: ^
, $
, ?
, +
, *
, []
, {}
, |
। कब्जा समूहों या उस जटिल सामान में से कोई भी ऐसी कोई चीज नहीं है। विशेष पात्र बच सकते हैं।
नमूना इनपुट / आउटपुट
नोट: अमान्य इनपुट कभी नहीं दिया जाएगा, और आम तौर पर दिए गए इनपुट के लिए कई संभावित उत्तर हैं!
Input | Sample Output
-----------|-------------
abc | cba
tuv? | v?ut
a(b|c) | (c|b)a
1[23] | [23]1
a([bc]|cd) | (dc|[bc])a
^a[^bc]d$ | ^d[^bc]a$
x[yz]{1,2} | [yz]{1,2}x
p{2} | p{2}
q{7,} | q{7,}
\[c[de] | [de]c\[
ab[c | <output undefined>
a(?bc) | <output undefined>
a[]]bc | <output undefined>
डेमो
वर्किंग डेमो जो सही इनपुट / आउटपुट प्रदर्शित करता है। यह उन इनपुट्स को मान्य करने के लिए कुछ अतिरिक्त तर्क है जो वास्तविक उत्तर में आवश्यक नहीं हैं। अपरिभाषित व्यवहार करने के लिए अमान्य इनपुट पर विचार करें।
विशिष्ट तथ्य
सादगी के लिए, सभी विशेष वर्ण या तो अपना विशेष अर्थ रखते हैं या बच जाते हैं; यह है, के [[]
लिए एक चरित्र सीमा नहीं है [
। लंबाई पर्वतमाला मानक POSIX EREs से आती हैं; यह है कि, {n}
, {n,}
, और {n,m}
समर्थित हैं। चरित्र पर्वतमाला []
और [^]
समर्थित हैं। इन नियमों के कारण, और चूंकि कोई अमान्य इनपुट नहीं दिया गया है, इसलिए आपको वास्तव में केवल इन सामग्रियों को सीधे आउटपुट में कॉपी करना होगा। अंत में, लालच कोई मायने नहीं रखता है, यानी इससे कोई फर्क नहीं पड़ता कि उलटा रेगेक्स पहले एक अलग मैच पाता है , बस इसे स्ट्रिंग्स के एक ही सेट के लिए एक मैच खोजने की आवश्यकता है।
स्कोरिंग
बाइट्स में सबसे छोटा कार्यक्रम (नेटवर्क अनुरोधों के रूप में धोखा देने पर रोक) जीतता है। प्रोग्राम या तो वास्तविक IO का उपयोग कर सकता है या बस एक फ़ंक्शन को परिभाषित कर सकता है।
(^a|b)(c$|d)
एक परीक्षण मामले के रूप में हालांकि कुछ जोड़ना चाहते हो सकता है ।
(a)?(b)+
applied पर लागू होने वाले क्वालीफायर पर विचार करना चाहिए (b)+(a)?
?
()
, जिसका उपयोग आपके उदाहरण में किया गया है।
?
संलग्न करने के लिए कुछ भी नहीं है।/a(?bc)/
ब्राउज़र के कंसोल में टाइप करने की कोशिश करें ।