使用用户提供的模式搜索和提取日期

时间:2012-09-16 14:55:19

标签: python regex django datetime date-format

我正在编写一个django应用程序来收集和分析来自各种不同应用程序的日志文件。我希望用户能够提供日期格式或与日期格式匹配的正则表达式,以便我可以跟踪文件的开始和结束时间。

我宁愿让用户同时提供正则表达式和日期格式,但我认为没有办法解决它。

我想提取文件中的第一个和最后一个日期时间,并将其解析为python中的datetime对象。正如我所说,日期的格式将以某种方式由用户提供。

有没有办法从日期格式构建正则表达式,反之亦然?或者我只是要求格式和模式?

1 个答案:

答案 0 :(得分:2)

如果您的用户可以提供strptime格式的日期格式,则也不需要使用正则表达式。 strptime足够灵活,可以处理大多数日期格式。

修改

由于strptime不允许在任意文本中进行搜索,因此您可能需要正则表达式。将一个strptime模式转变为正则表达式并非易事,但Fredrik Lundh为你做了这件事。您可以在此处找到代码:http://effbot.org/librarybook/time.htm

寻找短语:“示例:一个strptime实现”