在 python 中匹配 HH:MM 时间格式的正则表达式是什么? 我在用
def is_time(self, str):
reg = re.compile(r'[1-9]|1[0-2]:[0-9]{2}')
if re.match(reg, str):
return True
else:
return False
我也试过:
reg = re.compile(r'^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$')
但我不断得到
TypeError: %d format: a number is required, not str
我收到该错误是有道理的,因为我正在检查字符串中的数字,但我不确定如何修复它。任何帮助将不胜感激。
最佳答案
您可能应该使用 datetime.strptime
>>> import datetime
>>> datetime.datetime.strptime('12:34', '%H:%M')
datetime.datetime(1900, 1, 1, 12, 34)
>>> datetime.datetime.strptime('99:99', '%H:%M')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '99:99' does not match format '%H:%M'
关于python - 如何检查 python 字符串以查看它是否在 HH :MM time format? 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370145/