匹配文件名与glob函数

时间:2015-07-23 01:55:44

标签: php glob

我有以下文件名:

DoSomething

目前代码

foo.ext
foo-1.ext
foo-2.ext
foo-3.ext

仅匹配

$name = "foo-[0-9].*";
glob($name as a $filename){
    echo $filename;
}

但没有foo.ext

如何修改我的glob以匹配它?

2 个答案:

答案 0 :(得分:2)

这是 NOT 一个正则表达式,这是通配的。

两者之间存在巨大差异。

Globbing是指在命令行上指定文件时使用的通配符。

因此,在全球化中,表达式foo*表示“foo”,后跟 ANY (或没有)字符。

然而,在正则表达式中,表达式foo*表示'fo'跟随'o'字符的任何数字(包括零出现)。

Globbing比正则表达式更具限制性。

关于获得所需内容的唯一方法是"foo*.*"

答案 1 :(得分:-1)

尝试

$name = "foo(-[0-9])?.*";

无论如何,它都是这样的!