在python中使用re提取时间

时间:2016-12-15 13:57:18

标签: python regex

如何从以下数组中提取时间? 现在我正在尝试使用__array__

re

2 个答案:

答案 0 :(得分:2)

您需要修复re表达式:

time_search = re.search('\((.*)\)', "".join(data), re.IGNORECASE)

答案 1 :(得分:2)

只是提取时间的另一种方法 - 使用"模糊"中的dateutil.parser。模式:

In [1]: from dateutil.parser import parse

In [2]: s = "'Mys--dreyn M (00:07:04): Yes', ' of course.\r\n'"

In [3]: dt = parse(s, fuzzy=True)  # dt is a 'datetime' object

In [4]: dt.hour
Out[4]: 0

In [5]: dt.minute
Out[5]: 7

In [6]: dt.second
Out[6]: 4

而且,就你的正则表达式而言,我也会通过检查数字对来改进它:

time_search = re.search('\((\d{2}:\d{2}:\d{2})\)', "".join(data), re.IGNORECASE)