2014-09-05 11 views
6

किसी भी राशि से मिलान कैसे करें मुझे इस रेगेक्स समस्या से परेशानी हो रही है।किसी भी संख्या की संख्या और 0 की

भाषा {1,0} है।

मुझे स्ट्रिंग्स को 1 की संख्या और 0 की किसी भी राशि के साथ स्ट्रिंग चाहिए।

नमूना तार में शामिल हैं:

110 
101 
11 
0 
empty set 
1111 
10101010101 
+0

मुझे समझ में नहीं आता – jedema

+1

@jedema 1 की कुल संख्या भी होनी चाहिए और 0 की किसी भी राशि को – axelduch

+0

@jedema aduch सही है 1 की संख्या भी सही है और 0 की संख्या सही है। 0 की संख्या 0 स्वीकार्य है क्योंकि 0 भी है। – user3037172

उत्तर

9

^(0*10*1)*0*$ या ^(?:0*10*1)*0*$ गैर पर कब्जा समूहों अपने regex इंजन द्वारा समर्थित कर रहे हैं।

यह ^((0*1){2})*0*$ पर भी "सरलीकृत" हो सकता है, जो भी आपको अधिक पठनीय लगता है।

यह 1 एस जोड़ी और पैड द्वारा आवश्यकतानुसार ज़ीरो के साथ मेल खाता है। 1 एस की संख्या विषम है तो यह मेल नहीं खाता है। यह खाली रेखा से मेल खाता है।

यह किसी भी फैंसी का उपयोग नहीं करता है, इसलिए इसे अधिकांश प्रोग्रामिंग भाषाओं में काम करना चाहिए।

इसे regex101 पर कार्रवाई में देखें।

+0

लालची नहीं '0 *' बनाने की कोई ज़रूरत नहीं है। – Toto

+0

दरअसल, आप सही हैं। धन्यवाद! – Vache

+0

हालांकि यह काम करता है, गैर लालची '*? 'और गैर-कैप्चरिंग कोष्ठक POSIX विस्तारित नियमित अभिव्यक्ति नोटेशन का हिस्सा नहीं हैं और इस प्रकार कम से कम कुछ हद तक फैंसी हैं। –

संबंधित मुद्दे