Skip to main content
 首页 » 编程设计

python之如何检查 python 字符串以查看它是否在 HH :MM time format 中

2025年05月04日24soundcode

在 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'