我有这个正则表达式:
if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
--do something here--
}
该条件仅适用于 4 位数字。但我需要验证 4 位数字和 5 位数字。如何使其也可以验证 5 位数字?谢谢!
大括号可以采用范围的低端和高端,所以{4,5}
应该可以工作。
作为正则表达式的替代方法,请考虑使用更简单的函数,例如ctype_digit()
和strlen()
。
$filename = basename($entry, ".php");
$length = strlen($filename);
if (($length >= 4 && $length <= 5) && ctype_digit($filename)) {
// your code
}
if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {
--do something here--
}
代替
if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
采用
if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {