2017-12-25 11 views
-3

Ich habe verschiedene reguläre Ausdrücke versucht, um yyyymmddsssss zu entsprechen, aber nichts funktioniert. Können Sie mir mitteilen, wie das "yyyymmddsssss" -Format in regulären Python-Ausdrücken zu finden ist?Wie validiere ich das Datumsformat yyyymmddsssss mit regulären Python-Ausdrücken?

Ex: 2017122512345 

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

Was meinst du mit " bestätigen"? '\ d {13}' würde dem Muster entsprechen, aber wenn Sie sicher sein wollen, dass es ein Datum ist, * versuchen Sie, es als Datum zu analysieren *. – jonrsharpe

+0

Sind Sie sicher, dass Sie nicht Mikrosekunden meinen? Und 6 Ziffern statt 5? – ysth

Antwort

4

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

enter image description here

Easier to ask for forgiveness - versuchen mit datetime.strptime() Laden und Griff eine mögliche ValueError - %Y%m%d%f Format sollte sein, was Sie suchen:

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 
Verwandte Themen