2012-04-02 148 views
1

我想用正则表达式获取两个日期之间的所有日志文件。开始日期和结束日期之间的正则表达式

我目前的表情是^logfile-?('20120101')

例如,从“20120101”开始,结束为“20120131”。

找到一个特定的日志文件是没有问题的,我有问题来定义日间条件。

+2

正则表达式可能不是您想要的工具,但提供了一些示例输入和所需的输出,所以我们可以提供帮助。 – alan 2012-04-02 13:20:58

+0

从shell获取它们?哪一个?或者用什么语言呢? – 2012-04-02 13:46:17

+0

它是红宝石。我发现了可用于某个日期的upto方法。但我仍然对正则表达式感兴趣:) – baris 2012-04-02 14:02:49

回答

-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]) 
+0

这只适用于准确的日期边界,而不是'from is“20120405”,最后是“20120503”例如。 – 2012-04-02 13:44:59

+0

我明白了,但我想减少这些日子,所以我可以说:从7月7日到7月21日获得所有日志文件。 '开始'和'结束'在同一个月。 – baris 2012-04-02 14:01:20

+0

@ user1086092:查看我更新的答案 – splash 2012-04-03 07:15:33

相关问题