我有以下文件名:
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以匹配它?
答案 0 :(得分:2)
这是 NOT 一个正则表达式,这是通配的。
两者之间存在巨大差异。
Globbing是指在命令行上指定文件时使用的通配符。
因此,在全球化中,表达式foo*
表示“foo”,后跟 ANY (或没有)字符。
然而,在正则表达式中,表达式foo*
表示'fo'跟随'o'字符的任何数字(包括零出现)。
Globbing比正则表达式更具限制性。
关于获得所需内容的唯一方法是"foo*.*"
。
答案 1 :(得分:-1)
尝试
$name = "foo(-[0-9])?.*";
无论如何,它都是这样的!