我正在尝试列出目录中所有 PHP 文件的列表,这些文件在名称的开头有一个特定的字符串(在我的情况下是一个日期戳),最后是一个特定的字符串“.php”。我的日期作为变量 ($SearchDate) 传入。我已经成功地设置了 PHP 脚本以从我的目录中读取完整的文件列表,并且只是尝试使用 preg_match 为我过滤列表。不幸的是,我在 RegEx 上完全失败了,即使反复尝试了这个备忘单。
这是我所拥有的产生错误但没有结果的东西:
$SearchDate = '2013-02'; //example for february of 2013
if(preg_match('#^('.$SearchDate.')+[:graph:]{1}(\.(pdf))#', $file)) {
//do something
}
我也试过:
preg_match('#^\Q'.$SearchDate.'\E+[:graph:]{1}\Q.pdf\E#', $file)
我的文件名如下所示:
2013-02-fileNameMightBeAlphaOr1234567890.pdf
我得到的错误如下所示:
警告:preg_match() [function.preg-match]:编译失败:仅在第 26 行 /home/directory/myfile.php 中偏移量 5 的类中支持 POSIX 命名类