Regex that defines a regular language with {a,b} without a substring with exactly 3 b's (bbb) -
बहुत ज्यादा सवाल क्या कहते हैं
(ba)? (A + bb + bbbbb + aba) * (ab)?
क्या कोई और अधिक पठनीय है? या यह गलत है? मुझे पता है कि वास्तव में आप रेगेक्स के साथ इस तरह की चीज नहीं कर सकते हैं जब आप बस जा सकते हैं! ~ / बीबीबी / अपने कोड में, लेकिन यह एक सिद्धांत व्यायाम है
धन्यवाद।
स्पष्टीकरण के लिए संपादित करें: मैं संपादन 2: |
का उपयोग नहीं कर रहा हूँ, या फिर रेगेक्स में और + इसके बजाए गलतफहमी के लिए खेद है।
{a, b}
केवल 'a' और 'b' वर्णों वाली भाषा के लिए है नहीं {न्यूनतम, अधिकतम} दोबारा माफी चाहूंगा। <3 p> <3> संपादित करें: क्योंकि यह एक सिद्धांत वर्ग का हिस्सा है, हम केवल रेगेक्स की बुनियादी बातों के साथ काम कर रहे हैं। केवल उन चीज़ों को आप उपयोग करने की अनुमति है +,?, () और * आप {न्यूनतम, अधिकतम) का उपयोग नहीं कर सकते।
<टेबल> | |
& nbsp; & nbsp; | & nbsp; |
{a, b}
का मतलब है कि कितनी बार कुछ दोहराया जाना चाहिए कृपया {a, b} और bbb का उदाहरण दें। मुझे डर है ये बीएस कुछ अलग हैं। & ndash; & nbsp; 3 अगस्त 10:36 13:36
मुझे लगता है कि मेरे पास एक कार्यशील रेगेक्स है। चलो b °
- जो एक संकेत है I का आविष्कार किया है, अभी-अभी regex हो सकता है जो शून्य या अधिक बी से मेल खाता है, सिवाय इसके कि यह उनमें से तीन से मेल नहीं खाएगा। इसे (ε | बी | बीबी | बीबीबीबी +)
से बदला जा सकता है, इसलिए चिंता न करें कि मैं जादू या कुछ भी उपयोग कर रहा हूं अब मुझे लगता है कि मेलिंग स्ट्रिंग्स को शून्य या उससे अधिक के बाद के कोड, b °
, जो (a * b °) *
हो सकता है, की उपपत्तनियों को दोहराते हुए देखा जा सकता है, लेकिन आपको इसकी आवश्यकता है वहाँ बी के अनुक्रमों के बीच में कम से कम एक "ए" होगा इसलिए आपका अंतिम regex a * b ° (a + b °) *
।
चूंकि b °
रिक्त स्ट्रिंग से मिलान कर सकता है, आरंभिक < कोड> ए * अतिरेक है क्योंकि a +
प्रारंभिक ए को ठीक से उठा सकता है, इसलिए regex को b ° (a + b °) * < / कोड> (धन्यवाद, विकीकन)।