正则表达式为开始日期和结束日期之间的日期

时间:2012-04-02 13:18:25

标签: regex date

我正在尝试使用正则表达式在两个日期之间获取所有日志文件。

我当前的表达是^logfile-?('20120101')

From是“20120101”,结尾是“20120131”。

找到特定的日志文件没问题,我在定义日间条件时遇到问题。

2 个答案:

答案 0 :(得分:0)

您可以使用此:

import datetime
PSD = datetime.datetime(2019, 7, 1)
PED = datetime.datetime(2019, 7, 31)
dateDelta = (PED-PSD).days
STR = '{'
for date in range(dateDelta+1):
  focusedDate = PSD + datetime.timedelta(date)
  STR += focusedDate.strftime("%Y/%m/%d") + ','
STR = STR[:-1] + "}"
print(STR)

,结果将如下所示:

{2019/07/01,2019/07/02,2019/07/03,2019/07/04,2019/07/05,2019/07/06,2019/07/07,2019/07/08,2019/07/09,2019/07/10,2019/07/11,2019/07/12,2019/07/13,2019/07/14,2019/07/15,2019/07/16,2019/07/17,2019/07/18,2019/07/19,2019/07/20,2019/07/21,2019/07/22,2019/07/23,2019/07/24,2019/07/25,2019/07/26,2019/07/27,2019/07/28,2019/07/29,2019/07/30,2019/07/31}

答案 1 :(得分:-1)

对于正则表达式的日期部分,搜索201201\d\d就足够了。这将匹配从“20120100”到“20120199”的每个字符串,因此它将匹配1月份的每一天。

所以可能会这样做:^logfile-(201201\d\d)

如果你想将它减少到同一个月的特定时期(例如7月7日至7月21日),那么它可能如下所示:

201207(0[7-9]|1[0-9]|2[0-1])