Python'da, giriş dizesinin "HH: MM" içinde olup olmadığını 01:16 veya 23:16 veya 24:00 gibi kontrol etmek istiyorum. Sonuçta doğru veya yanlış verilmesi.python saat biçimi denetimi
Bunu normal ifadeyi kullanarak nasıl yapabilirim?
Python'da, giriş dizesinin "HH: MM" içinde olup olmadığını 01:16 veya 23:16 veya 24:00 gibi kontrol etmek istiyorum. Sonuçta doğru veya yanlış verilmesi.python saat biçimi denetimi
Bunu normal ifadeyi kullanarak nasıl yapabilirim?
Düzenli ifadeler olmadan bunu başarabilirsiniz:
import time
def isTimeFormat(input):
try:
time.strptime(input, '%H:%M')
return True
except ValueError:
return False
>>>isTimeFormat('12:12')
True
>>>isTimeFormat('012:12')
False
vay o gerçekten çok yardımcı oldu; Teşekkürler! – jambox
Bu, onu kontrol edecek regexp'in nesneyi verecektir. Ancak, 24:00 sorduğunuz kişiye bağlı olarak geçerli bir saat olmayabilir (00:00). Ama sanırım ihtiyaçlarınızı karşılayacak şekilde değiştirmek kolaydır.
import re
regexp = re.compile("(24:00|2[0-3]:[0-5][0-9]|[0-1][0-9]:[0-5][0-9])")
import re
time_re = re.compile(r'^(([01]\d|2[0-3]):([0-5]\d)|24:00)$')
def is_time_format(s):
return bool(time_re.match(s))
00:00 ila 24:00 saatleri arasında her şeyi eşleşir.
Bu model size yardımcı olacaktır:
http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5
istediğiniz "iki basamak, kolon, iki basamak" ya da aslında yasal bir zaman değeridir olmadığını kontrol mı istiyor? – balpha
Kesin olarak '24: 00 'geçerli bir' HH: MM 'dizesi değil. '00: 00 'ile' 23: 59 'arasında. –
Gece yarısı özel bir durumdur ve hem "00:00" hem de "24:00" olarak adlandırılabilir. "00:00" notasyonu bir takvim gününün başında kullanılır ve daha sık kullanılır. [ISO 8601] (http://en.wikipedia.org/wiki/ISO_8601) –