Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于每隔6小时选择文件的正则表达式_Regex - Fatal编程技术网

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时间戳时。