带连字符的Preg-match文件名

时间:2014-10-11 12:59:07

标签: php preg-match filenames preg-grep

如何在PHP中使用preg_match检查文件名?

文件名= 2.pdf

如果另一个文件被称为2-2.pdf2-3.pdf,它也应匹配。

它是在宣传之前的Id。它不需要检查.pdf文件扩展名。

$id = 2;
$list = scandir("D:/uploads/");
$list = preg_grep("/^".$id."$/", $list);

foreach ($list as $file)
{
    echo $file . "<br />";
}

2 个答案:

答案 0 :(得分:1)

怎么样:

/^$id(?:-\d+)?/

<强>解释

/        : delimiter
^        : begining of strig
$id      : the id defined earlier
(?:      : begining of non capture group
    _    : a dash
    \d+  : one or more digits
)?       : end of group, optional
/        : delimiter

<强>用法:

$list = preg_grep("/^$id(?:-\d+)?/", $list);

答案 1 :(得分:0)

使用此正则表达式

/^2[-.]/

演示:http://regex101.com/r/aJ7cK0/1