निकालने के लिए मैं तार है कि इन की तरह लग रही है:अजगर रेगुलर एक्सप्रेशन तारीख
{server}_{date:YYYYMMDD}{int:######}
{server}_{date:MON DAY YYYY}{int:######}
... प्लस अधिक, अलग तिथि प्रारूप में। साथ ही, {} ब्लॉक की कोई भी संख्या हो सकती है, और वे किसी भी क्रम में दिखाई दे सकती हैं।
मैं पाइथन 3.2 में घुंघराले ब्रेसिज़ के बीच बस "तिथि" भाग प्राप्त करने का प्रयास कर रहा हूं। तो पहली स्ट्रिंग के लिए, मैं सिर्फ "{date: YYYYMMDD}" प्राप्त करना चाहता हूं और दूसरी स्ट्रिंग के लिए मैं बस "{date: MON DAY YYYY}" चाहता हूं। "डेट" ब्लॉक के अंदर मैं चाहता हूं कि केवल वर्ण अल्फा और व्हाइटस्पेस हैं।
मेरे regex पैटर्न है:
\{date:(\w|\s)*\}
मैं this Regex builder पर बाहर इस परीक्षण किया है, लेकिन यह मिलान के रूप में उम्मीद नहीं कर रहा है। यह पायथन पर मेरा आउटपुट है:
>>> import re
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:YYYYMMDD}{date:MONDAYYYYY}{int:######}')
['D', 'Y']
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:MON DAY YYYY}{int:######}')
['Y']
क्या कोई मुझे बता सकता है कि मेरे पैटर्न में क्या गलत है?
सभी उत्तरों के लिए धन्यवाद! अब सभी के उत्तरों को देखते हुए, यह स्पष्ट है कि मैंने अपने प्रश्न में महत्वपूर्ण विवरण छोड़े। मैंने अपनी पोस्ट संपादित की और कुछ और विवरण जोड़े। – tgxiii