文件名中的php全局编号范围

文件名中的php全局编号范围,php,glob,Php,Glob,我检查了另外两个答案,但似乎无法匹配文件名中的数字范围 我需要将1.jpg与任何高达99.jpg(无前导零,无前缀或后缀)的内容匹配,只需简单的数字.jpg即可 glob("$dir/{1..99}.jpg", GLOB_BRACE); 我也试过: glob("$dir/{" . implode(",", range(1, 99)) . "}.jpg", GLOB_BRACE); 以下仅匹配1.jpg到9.jpg,但不匹配10,11等 glob("$dir/[0-9].jpg", GLOB_

我检查了另外两个答案,但似乎无法匹配文件名中的数字范围

我需要将1.jpg与任何高达99.jpg(无前导零,无前缀或后缀)的内容匹配,只需简单的数字.jpg即可

glob("$dir/{1..99}.jpg", GLOB_BRACE);
我也试过:

glob("$dir/{" . implode(",", range(1, 99)) . "}.jpg", GLOB_BRACE);
以下仅匹配1.jpg到9.jpg,但不匹配10,11等

glob("$dir/[0-9].jpg", GLOB_BRACE);
以下内容不匹配:

glob("$dir/[0-9]+.jpg", GLOB_BRACE);
我已签入解决方案,请尝试以下操作:

glob("$dir/{,[1-9]}[0-9].jpg", GLOB_BRACE);

GLOB_BRACE
选项告诉它识别大括号中的替代项,因此
{[1-9]}
匹配空字符串或非零数字。然后这后面跟着任何数字。因此,它通过
9
匹配空字符串
0
,通过
99
匹配非零数字
10
glob($dir/[0-99].jpg),glob_括号)
那么像
[0-9][0-9]+.jpg这样的东西呢?(我的正则表达式很生锈)你需要添加另一个条件。然后,在其中一个链接
glob($dirname/*{“$start..”.$end.}.jpg”,glob_BRACE)中找到答案为什么不起作用?或
glob($dirname/*0{.intlode(“,”,range($start,$end))。“}.jpg”,glob_括号)我看不出这怎么会失败。@Mihai
[0-99]
没有work@Onimusha很高兴看到您找到了解决方案。@Barmar没有人希望
[0-9]+
能够工作。弗雷德二世的期望值在射程码上<代码>在玩之前阅读
并理解爱因斯坦:)最好的答案之一,先生:-)完美。。立即找到1,2,3,4和12.jpg。。。谢谢