这工作与示例报告您所提供。它同时返回开始和结束日期,并应处理一天的日后缀,如“日”,“第三”等
import re
import dateutil.parser
REPORT = \
"""Dear Customer,
(Call Transferred) Start Time & Date: 00:05 Monday 6th February 2017
Completion Time & Date: 06:00 Monday 6th February 2017
Details of Work:"""
def parse_report(data):
dates = []
for pattern in ['(?<=Start Time & Date:).*', '(?<=Completion Time & Date:).*']:
date = dateutil.parser.parse(re.search(pattern, data).group(0))
dates.append(date)
return dates
if __name__ == '__main__':
start, completion = parse_report(REPORT)
print('Started: {}, Completed: {}'.format(start, completion))
输出
Started: 2017-02-06 00:05:00, Completed: 2017-02-06 06:00:00
编辑
更新为使用dateutil.parser
而不是简化代码(感谢asongtoruin的建议)。
使用'DateTime' –
你建议使用正则表达式 - 你有什么尝试? – asongtoruin