php 文件名中的 glob 编号范围
php glob number range in filename
我检查了另外两个答案,但似乎无法匹配文件名中的数字范围
我需要将 1.jpg 匹配到 99.jpg(没有前导零,也没有前缀或后缀),只是简单的 digits.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);
我已经在 and php glob pattern match for arbitray number of digits
中查看了解决方案
试试这个:
glob("$dir/{,[1-9]}[0-9].jpg", GLOB_BRACE);
GLOB_BRACE
选项告诉它识别大括号中的替代项,因此 {,[1-9]}
匹配空字符串或非零数字。然后是任何数字。因此,对于空字符串,它匹配 0
到 9
,对于非零数字,它匹配 10
到 99
.
我检查了另外两个答案,但似乎无法匹配文件名中的数字范围
我需要将 1.jpg 匹配到 99.jpg(没有前导零,也没有前缀或后缀),只是简单的 digits.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]}
匹配空字符串或非零数字。然后是任何数字。因此,对于空字符串,它匹配 0
到 9
,对于非零数字,它匹配 10
到 99
.