【发布时间】:2016-02-01 01:40:19
【问题描述】:
所以我需要采用这种格式:2015-08-15_15-41-32_44100_logo.txt 并使用这两段代码从中提取日期、时间和频率。现在它的形式是<date>_<time>_<frequency>_logo.txt.Below 是我尝试使它成为一个正则表达式,但我知道我遗漏了一些东西。我如何在 perl 中使用组来做到这一点?
下面的代码在目录中搜索遵循该模式的每个文件路径,并在列表中返回这些文件。我需要帮助的是正则表达式本身。我需要能够获得频率。
$pattern =qr/^(\d+)-(\d+)-(\d+)_(\d+)-(\d+)-(\d+)_44100_(\w+).(\w+)$/;
@listFiles = grep_files($bee_music_dir,$pattern);
print join(",",@listFiles);
sub grep_files {
my ($dir, $pat) = @_;
opendir(my $dir_handle, $dir) or die $!;
my @files = grep { $_ =~ /$pat/ } readdir($dir_handle);
closedir($dir_handle);
return \@files;
}
【问题讨论】: