Regex 我需要一个正则表达式来验证找到的文件是否以file::Find::Name中的特定字母开头

Regex 我需要一个正则表达式来验证找到的文件是否以file::Find::Name中的特定字母开头,regex,Regex,我有下面的查找例程,它搜索一个目录和子目录,查找超过5天的文件并将其删除 { find (sub {my $filename = $File::Find::name; if ( -f $filename ) { my $filetime = (stat "$filename")[9]; my ($sec, $min, $hour, $day, $month, $year) = (localtime($filetime))[0,1,2,3,4,5]; if

我有下面的查找例程,它搜索一个目录和子目录,查找超过5天的文件并将其删除

{
find (sub {my $filename = $File::Find::name;
  if ( -f $filename ) {
      my $filetime = (stat "$filename")[9];
      my ($sec, $min, $hour, $day, $month, $year) = (localtime($filetime))[0,1,2,3,4,5];
      if ($now - $fivedaystime > $filetime){
        push (@file_list, $filename);
        }
      }
}, $pslog_directory);
}
这一切都很好,但现在我需要删除的文件,超过5天,并开始与字符“日志”

我想添加一个正则表达式,但我想不出编写正则表达式的正确方法。我去了几个regex网站,有很多信息我需要学习,但我很快就需要这个。这是我尝试过的,但它不起作用,因为当目录中有许多以“Log”开头的文件时,它找不到任何要删除的文件:

如果(-f$filename和$filename=~'^Log')


提前感谢您的帮助。

如果您使用的是Perl,语法将是:

if(-f$filename)和($filename=~/^Log/)

如果希望它不区分大小写,请使用:


($filename=~/^Log/i)

你在用什么语言?你好@Rik,我在用Perl