正規表現で0:00から23:59までを時刻として判定したい。
時、分ともに一桁の時と二桁の時に対応したい。
以下だと、29:59も時刻と判定してしまう。
re.match(r'([0-2]?[0-9]):([0-5]?[0-9])', '29:59')
<re.Match object; span=(0, 5), match='29:59'>
以下であれば期待通りの動作だった。
re.match(r'([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])', '23:59')
<re.Match object; span=(0, 5), match='23:59'>
re.match(r'([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])', '24:00')
もし他に良い方法があれば是非コメント下さい!