पायथन में क्या नियमित अभिव्यक्ति मैं इस तरह की तिथियों से मेल खाने के लिए उपयोग करता हूं: "11/12/98"?पायथन रेगेक्स मैच दिनांक
24
A
उत्तर
33
आप आगे स्लैश द्वारा अलग अंक के लिए खोज कर सकते हैं:
In [146]: import re
In [152]: match=re.search(r'(\d+/\d+/\d+)','The date is 11/12/98')
In [153]: match.group(1)
Out[153]: '11/12/98'
बेशक
, अमान्य तिथियां भी मिलान हो जाएगा:
In [154]: match=re.search(r'(\d+/\d+/\d+)','The date is 99/99/99')
In [155]: match.group(1)
Out[155]: '99/99/99'
आप strptime
का उपयोग कर तारीख को मान्य कर सकता है (देखें नीचे)।
regex उपयोग करने के बजाय, आप इसे एक datetime.datetime
वस्तु है, जो शायद और अधिक उपयोगी है में पार्स सकता है: अगर आगे स्लैश द्वारा अलग अंक के अनुक्रम कोई मान्य दिनांक का प्रतिनिधित्व करता है
In [140]: datetime.datetime.strptime("11/12/98","%m/%d/%y")
Out[140]: datetime.datetime(1998, 11, 12, 0, 0)
In [141]: datetime.datetime.strptime("11/12/98","%d/%m/%y")
Out[141]: datetime.datetime(1998, 12, 11, 0, 0)
In [143]: date.year
Out[143]: 1998
In [144]: date.month
Out[144]: 11
In [145]: date.day
Out[145]: 12
परीक्षण करने के लिए , आप try..except
ब्लॉक का उपयोग कर सकते हैं।
In [159]: try:
.....: datetime.datetime.strptime("99/99/99","%m/%d/%y")
.....: except ValueError as err:
.....: print(err)
.....:
.....:
time data '99/99/99' does not match format '%m/%d/%y'
1
मैं नीचे आरई निम्न स्वरूप में दिनांक के लिए ठीक काम कर रहा लगता है;: अमान्य दिनांक एक ValueError
बढ़ा देंगे
- 14-11-2017
- 14.11.2017
- 14 | 11 | 2017
यह से 2000-2099
साल स्वीकार कर सकते हैं कृपया मत भूलना अंत में $ जोड़ने के लिए, यदि यह 14-11-2014 या 20177
स्वीकार नहीं करता हैdate="13-11-2017"
x=re.search("^([1-9] |1[0-9]| 2[0-9]|3[0-1])(.|-)([1-9] |1[0-2])(.|-|)20[0-9][0-9]$",date)
x.group()
उत्पादन = '13 -11-2017 '
संबंधित मुद्दे
- 1. पायथन/रेगेक्स - मैच #, #। स्ट्रिंग में
- 2. रेगेक्स मैच
- 3. मैच लेकिन रेगेक्स
- 4. रेगेक्स मैच/प्रतिस्थापन पैटर्न
- 5. एक रेगेक्स मैच
- 6. पर्ल, रेगेक्स मैच
- 7. रेगेक्स सुरुचिपूर्ण पैटर्न मैच
- 8. पायथन रेगेक्स
- 9. बूस्ट रेगेक्स सब-स्ट्रिंग मैच
- 10. एक्सेल वीबीए रेगेक्स मैच स्थिति
- 11. वीबीए रेगेक्स केवल प्रथम मैच
- 12. विम: यंक रेगेक्स मैच + क्लिपबोर्ड
- 13. पायथन रेगेक्स पार्स स्ट्रीम
- 14. पायथन रेगेक्स स्ट्रिंग मिलान?
- 15. पायथन स्ट्रिंग मैच
- 16. रेगेक्स पायथन
- 17. रुबी रेगेक्स बनाम पायथन रेगेक्स
- 18. कैसे: अपाचे कैमल, रेगेक्स मैच फाइलें
- 19. रेगेक्स मैच के लिए परीक्षण कैसे करें
- 20. रेगेक्स मैच अंक, अल्पविराम और अर्धविराम?
- 21. सी # रेगेक्स - मैच और प्रतिस्थापित, ऑटो वृद्धि
- 22. मिलान स्ट्रिंग में रेगेक्स इंडेक्स जहां मैच
- 23. रेगेक्स से सभी मैच कैसे प्राप्त करें?
- 24. गैर लालची रेगेक्स मैच, जावास्क्रिप्ट और एएसपी
- 25. पायथन रेगेक्स: एक चर
- 26. पायथन रेगेक्स तुरंत
- 27. पायथन रेगेक्स findall
- 28. पायथन रेगेक्स नकारात्मक लुकबींड
- 29. पायथन रेगेक्स एकाधिक समूह
- 30. पायथन रेगेक्स अजीब व्यवहार
क्षमा करें, मेरी गलती है, मैं यह 4 अंक के खिलाफ परीक्षण किया है :) – Bronek