pythonでは、入力文字列が01:16や23:16や24:00などの "HH:MM"であるかどうかをチェックしたいと思います。その結果によって真実または偽を与える。python time format check
正規表現を使用してこれを実現するにはどうすればよいですか?
pythonでは、入力文字列が01:16や23:16や24:00などの "HH:MM"であるかどうかをチェックしたいと思います。その結果によって真実または偽を与える。python time format check
正規表現を使用してこれを実現するにはどうすればよいですか?
あなたは正規表現せずにこれを達成することができます
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
本当にとても役に立ちました。ありがとう! – jambox
これはあなたにそれをチェックする正規表現オブジェクトを提供します。しかし、あなたが24:00を聞く人によっては、有効な時間ではないかもしれません(それは00:00です)。しかし、私はあなたのニーズに合わせて変更するのは簡単だと思います。
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から24:00までのすべてにマッチします。
このパターンはあなたを助ける必要があります。
http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5
あなたが欲しい「2桁、コロン、2桁」、またはあなたはそれが実際に法的な時刻値だかどうかを確認したいですか? – balpha
厳密に言えば、 '24:00'は有効な 'HH:MM'文字列ではありません。 '00:00 'から'23:59'までです。 –
真夜中は特殊なケースで、「00:00」と「24:00」の両方と呼ばれることがあります。表記「00:00」は暦日の初めに使用され、より頻繁に使用されます。 [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) –