时间格式的python正则表达式,这是一个好方法吗?

时间:2019-03-28 20:05:26

标签: python regex

我从教科书中看到了这个,以匹配正则表达式的时间格式:

t = '19:05:30'
m = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t)
#            limited to 0X or 1X or 2X or x
#                                              limited to 1X, 2X, 3X, 4X, 5X or X
#                                                                                                  same as minutes
print(m.groups())
# >>> ('19', '05', '30')

显然可以,但是似乎很多余,我可以使用:

m = re.match(r'^(2[0-3]|[0-1][0-9]|[0-9])\:([0-5][0-9])\:([0-5][0-9])$', t)
print(m.groups())
# >>> ('19', '05', '30')

我是regex的新手,我不确定我是否能轻松编写出比教科书更好的东西,但是我找不到任何错。

谢谢

0 个答案:

没有答案