Python – найти дату из строки

Кто-нибудь знает строку регулярного выражения или другой метод получения даты и времени из этой строки в переменные? Позиция строки может измениться, поэтому строка и символ no не будут работать. Это немного выше моих возможностей, это можно сделать?

благодаря

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: 

One Solution collect form web for “Python – найти дату из строки”

Это работает с примером, который вы предоставили. Он возвращает дату начала и завершения и должен обрабатывать суффиксы дня месяца, такие как «th», «rd» и т. Д.

 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 для предложения).

Python - лучший язык программирования в мире.