Regex 用于每隔6小时选择文件的正则表达式
我有一个文件名中带有时间戳的文件列表,以以下形式命名:Regex 用于每隔6小时选择文件的正则表达式,regex,Regex,我有一个文件名中带有时间戳的文件列表,以以下形式命名: file_year-month-date-hour-minute.something.gz. 例如,有名为 file_2013-06-17-00-05.something.gz file_2013-06-17-00-10.something.gz 我需要用正则表达式每隔6小时选择文件。 选择“file_year-month-date*”会显示每日文件,但不确定如何筛选到6小时的块 如果必须: file_\d{4}-\d{2}-\d{2
file_year-month-date-hour-minute.something.gz.
例如,有名为
file_2013-06-17-00-05.something.gz
file_2013-06-17-00-10.something.gz
我需要用正则表达式每隔6小时选择文件。
选择“file_year-month-date*”会显示每日文件,但不确定如何筛选到6小时的块 如果必须:
file_\d{4}-\d{2}-\d{2}-(?:00|06|12|18|24)-(?:[0-5][0-9])\..+?\.gz
老实说,正则表达式似乎不是用于此目的的正确机制。为什么不简单地将文件名解析为可索引的时间戳列表?然后,您可以非常灵活地进行分组、筛选和查询。regex用于格式验证,而不是程序验证。regex当然可以用于验证和提取字符串中的$1、$2等字段,但可能更容易“拆分”字符串上的名称。,和-尤其是当您需要进一步处理和比较值和/或生成Unix时间戳时。