python的re如何提取字符串中的时间

python的re如何提取字符串中的时间

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何使用Python的re模块匹配字符串中的时间?

在Python中,我想用正则表达式提取字符串里的时间信息,比如‘12:30’或‘23:59’,该如何写正则表达式?

A

利用正则表达式匹配时间格式

可以使用正则表达式模式来匹配时间,如‘HH:MM’格式。一个简单的模式是'\b([01]?\d|2[0-3]):[0-5]\d\b',它匹配小时0-23和分钟0-59的时间,使用re.findall()方法可以提取所有符合条件的时间字符串。

Q
如何确保用re提取的时间格式是合法的?

用Python的re模块提取时间时,有没有办法过滤掉格式错误的时间,比如‘25:99’?

A

通过正则表达式限制时间范围

可以编写正则表达式限制小时和分钟的范围,确保提取时间是合法的。例如,使用模式'\b([01]?\d|2[0-3]):[0-5]\d\b'来匹配小时0-23和分钟0-59,这样就不会匹配‘25:99’。

Q
如何用re提取带有秒的时间字符串?

我想从文本中提取包含秒的时间,如‘14:30:15’,怎样写正则表达式?

A

添加秒的匹配规则

在匹配小时和分钟的基础上,增加匹配秒的部分,可以用'\b([01]?\d|2[0-3]):[0-5]\d:[0-5]\d\b'。这个模式匹配‘HH:MM:SS’格式的时间,确保小时、分钟和秒都在合法范围内。