在python中使用re提取时间

2024-05-14 03:19:54 发布

您现在位置:Python中文网/ 问答频道 /正文

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

data = ['Mys--dreyn M (00:07:04): Yes', ' of course.\r\n']
time_search = re.search('(*)', "".join(data), re.IGNORECASE)
if time_search:
    time = time_search.group(1)
    print time

Tags: ofresearchdataiftime时间group
2条回答

只是提取时间的另一种方法-在“fuzzy”模式下使用^{}

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

至于正则表达式,我也会通过检查数字对来改进它:

^{pr2}$

您需要修复re表达式:

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

相关问题 更多 >