请问这段Python的正则如何理解?

查看:123
本文介绍了请问这段Python的正则如何理解?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

 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)
 m.groups()
('19', '05', '30')



不理解0[0-9]|1[0-9]|2[0-3]|[0-9] 中括号表示范围我清楚,可是前面的0、1、2表示啥?

解决方案

把整段拆分来看就很清楚了

(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])

每一部分做的都是选择操作,(0[0-9]|1[0-9]|2[0-3]|[0-9]) 就是匹配 0[0-9] or 1[0-9] or 2[0-3] or [0-9] ,即匹配 00-09 or 10-19 or 20-23 or 0-9 也就是 hour 的全部取值。

其他部分也是一样的。

这篇关于请问这段Python的正则如何理解?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆