मुझे पता है कि मेरे पास ऐसे प्रश्न हैं जिनके उत्तर दिए गए हैं, लेकिन उनके माध्यम से पढ़ने के बाद भी मेरे पास अभी भी समाधान नहीं है जिसे मैं ढूंढ रहा हूं।पाइथन में नियमित अभिव्यक्तियों के साथ मिलान तिथियां?
पायथन 3.2.2 का उपयोग करके, मुझे "महीना, दिन, वर्ष" मैच करना होगा, जिसमें महीना एक स्ट्रिंग है, दिन दो अंक, 30, 31, या 28 फरवरी के लिए और 2 9 फरवरी के लिए एक लीप वर्ष पर ।
pattern = "(January|February|March|April|May|June|July|August|September|October|November|December)[,][ ](0[1-9]|[12][0-9]|3[01])[,][ ]((19|20)[0-9][0-9])"
expression = re.compile(pattern)
matches = expression.findall(sampleTextFile)
मैं अभी भी regex वाक्य रचना के साथ भी परिचित नहीं कर रहा हूँ तो मैं वहाँ में अक्षर हैं जो अनावश्यक हैं ([हो सकता है: (मूल रूप से एक असली और मान्य दिनांक)
यह वही है मैं अब तक किया है ,] [] कॉमा और रिक्त स्थान के लिए इसके बारे में गलत तरीके से लगता है), लेकिन जब मैं अपनी नमूना पाठ फ़ाइल में "जनवरी, 26, 1 99 1" से मेल खाने का प्रयास करता हूं, तो "मैचों" में आइटमों का प्रिंटिंग होता है ('जनवरी', '26', '1 99 1', '1 9')।
अतिरिक्त '1 9' अंत में क्यों दिखाई देता है?
इसके अलावा, मैं अपने रेगेक्स में क्या चीजें जोड़ या बदल सकता हूं जो मुझे तारीखों को सही तरीके से सत्यापित करने की अनुमति देगी? मेरी योजना अभी लगभग सभी तिथियों को स्वीकार करना है और महीने और वर्ष समूह के साथ दिन समूह की तुलना करके उच्च स्तर की संरचनाओं का उपयोग करके उन्हें बाहर निकालना है, यह देखने के लिए कि दिन < 31,30,29,28
कोई भी मेरी रेगेक्स को डिजाइन करने के तरीके के बारे में रचनात्मक आलोचना सहित सहायता की बहुत सराहना की जाएगी।
आपको नियमित अभिव्यक्ति का उपयोग करने की आवश्यकता क्यों है? (अब आपके पास दो समस्याएं हैं ...) – geoffspear
मेरा मानना है कि उद्धरण @Wooble का जिक्र है 'कुछ लोग, जब किसी समस्या का सामना करते हैं, तो सोचें "मुझे पता है, मैं नियमित अभिव्यक्तियों का उपयोग करूंगा।" अब उन्हें दो समस्याएं हैं। ' और मैं सहमत होने के इच्छुक हूं। मैं एक स्ट्रिंग और 2 संख्याओं को निकालने की अनुशंसा करता हूं (शायद एक साधारण, सरल रेगेक्स के साथ, लेकिन कॉमा पर स्ट्रिंग को विभाजित करके अधिक संभावना है) और फिर डेटाटाइम का उपयोग करके यह जांचने के लिए कि दिनांक वैध है या नहीं। –
सलाह के लिए धन्यवाद, लेकिन यह एक होमवर्क असाइनमेंट है जहां मुझे मिलान तिथियों के लिए अभिव्यक्ति करने की आवश्यकता है। – ahabos