对于我的程序
我有一系列命令行参数,我需要在继续执行程序的其余部分之前检查它们是否有效。
其中一个参数来自于格式
HH:MM(上午/下午) 或 HH:MM(上午/下午)
示例:11:20pm 有效或 11:40PM 有效但 11:32 无效(这是一个 12Hr 数字时钟的表达式,末尾有 AM/PM。
这是我想出的正则表达式
mo = re.search(r'[0-1][0-2]:[0-5][0-9][APap][Mm]', time)
但是我需要做的是想出一种方法来检查时间变量是否与设置的模式匹配
请您参考如下方法:
尝试将其与 datetime.datetime.strptime() 匹配并在失败时处理错误(以您想要的任何行为)。
for s in ('11:20pm', '11:40PM', '11:32'):
try:
print(datetime.datetime.strptime(s, '%H:%M%p'))
except ValueError:
print('No.')
结果:
1900-01-01 11:20:00
1900-01-01 11:40:00
No.
