2017-12-25 30 views
-3

私はyyyymmddsssssと一致するように異なる正規表現を試しましたが、何も動作していません。 Pythonの正規表現で "yyyymmddsssss"形式とどのようにマッチさせるか教えてください。Pythonの正規表現を使用してyyyymmddsssssの日付形式を検証する方法は?

Ex: 2017122512345 

2017 - year 
12 - month 
25 - day of month 
12345 - milliseconds 
+4

あなたは何を意味します "検証"? '\ d {13}'はパターンにマッチしますが、それが日付であることを確認したい場合は、*として解析してみてください。 – jonrsharpe

+0

マイクロ秒を意味するのではないですか?そして5の代わりに6桁? – ysth

答えて

4

Why go the regular expression route for this kind of a problem?

enter image description here

Easier to ask for forgivenessからdatetime.strptime()をロードしようとし、可能なValueError扱う - %Y%m%d%f形式は、あなたが探しているものでなければなりません:

In [1]: from datetime import datetime 

In [2]: def validate(date_string): 
      try: 
       datetime.strptime(date_string, '%Y%m%d%f') 
       print('Valid') 
      except ValueError: 
       print('Invalid') 


In [3]: validate('2017122512345') 
Valid 

In [4]: validate('20171') 
Invalid 

In [5]: validate('illegal') 
Invalid 
関連する問題