मैं अधिकतम तीन अलग-अलग वर्ण वाले सभी इनपुट खोजने के लिए रेगेक्स बनाने की कोशिश कर रहा हूं। इससे कोई फर्क नहीं पड़ता कि इनपुट कितना समय है। मामलों कीregex का उपयोग कर विभिन्न वर्णों की संख्या कैसे जांचें?
उदाहरण:
- "32 32 32 32 34" -> मैच
- "एम एम" -> मैच
- "" -> मैच
- "1234" -> कोई मुकाबला नहीं
मैं चार या अधिक अलग वर्ण के इनपुट को खोजने के लिए रेगुलर एक्सप्रेशन से किया है, लेकिन अब मैं विपरीत तरीके से की आवश्यकता है ...
012,(.).*(?\1)(.).*(?\1)(?\2)(.).*(?\1)(?\2)(?\3)(.)
मुख्य प्रश्न है: विभिन्न पात्रों की संख्या कैसे जांचें?
यह एक regex के साथ हल करने के लिए एक बहुत ही जटिल समस्या की तरह मुझे लगता है । क्या यह एक आवश्यकता है? इसे अधिक पारंपरिक तरीके से क्यों हल नहीं करें? – pcalcao
आपके पहले उदाहरण के आधार पर, व्हाइटस्पेस 3 अक्षरों की ओर गिनती नहीं है? –
यह औपचारिक नियमित अभिव्यक्तियों का उपयोग करके प्राप्त नहीं किया जा सकता है, क्योंकि आपको किसी प्रकार की स्टैक या गिनती या राज्य की आवश्यकता होती है, जो नियमित भाषाओं में नहीं हो सकती है। व्यावहारिक रूप से, आप कुछ काम करने में सक्षम हो सकते हैं क्योंकि अधिकांश रेगेक्स पार्सर्स नियमित भाषाओं को परिभाषित नहीं करते हैं, लेकिन एक अलग विधि का उपयोग करना सबसे अच्छा है। – Oliver