से न्यूनतम नियमित अभिव्यक्ति प्राप्त करें मेरे पास एक दूरस्थ "एजेंट" है जो स्ट्रिंग को सौंपने पर "हां" या "नहीं" देता है। इस एजेंट के साथ संचार करना महंगा है, इसलिए मैं एक पुस्तकालय ढूंढने की उम्मीद कर रहा हूं जो मुझे इसके निर्माण के बारे में बुद्धिमान होने के दौरान सकारात्मक और नकारात्मक प्रतिक्रिया देने के लिए नियमित रूप से नियमित अभिव्यक्ति बनाने की अनुमति देगा। यह मुझे भेजने के पक्ष में जवाब कैश करने की अनुमति देगा।इनपुट
उदाहरण के लिए, मान लीजिए कि हम एजेंट को "अच्छा" से पूछते हैं और "हां" प्राप्त करते हैं। प्रारंभिक व्युत्पन्न नियमित अभिव्यक्ति "अच्छा" होना चाहिए।
मान लीजिए कि मैं "goop" के साथ क्वेरी करता हूं और "हां" प्राप्त करता हूं। मैं व्युत्पन्न नियमित अभिव्यक्ति "goo [dp]" होने की अपेक्षा करता हूं, न कि "अच्छा | goop"।
और आगे।
मुझे अपने व्युत्पन्न रेगेक्स में बैकट्रैकिंग या किसी अन्य फैंसी गैर-रैखिक समय संचालन की आवश्यकता नहीं है। संभावित रूप से उत्पन्न रेगेक्स हुड के नीचे एक डीएफए होगा। क्या किसी को यह करने में सक्षम किसी भी सी/सी ++ नियमित अभिव्यक्ति पुस्तकालयों के बारे में पता है? वैकल्पिक रूप से, कारण यह एक बेवकूफ विचार है और मेरी असली समस्या के बेहतर समाधान भी उपयोगी होंगे।
क्या हम इस प्रश्न को सरल बना सकते हैं "स्ट्रिंग के दिए गए सेट से मेल खाने वाले न्यूनतम रेगेक्स को कैसे ढूंढें"? –
@ केरेक: मुझे मोटे तौर पर लगता है, लेकिन ऐसा लगता है कि यह नए तारों को जोड़ने के लिए कुशल है, इसे बढ़ता जा रहा है। –
@ आर यह सही है। एक बैच मॉडल की बजाय फ्लाई पर नए तार जोड़ना महत्वपूर्ण है। – tgoodhart