1

私はこの正規表現を持っています:

if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
--do something here--
}

その条件は、4 桁の数字に対してのみ機能します。しかし、4桁と5桁を検証する必要があります。5桁の数字も検証するようにするにはどうすればよいですか? ありがとう!

4

4 に答える 4

6

ブレースは範囲の下限と上限を取ることができるので、うまくいく{4,5}はずです。

于 2012-11-07T16:28:54.000 に答える
3

ctype_digit()正規表現の代わりに、や などのより単純な関数を検討してstrlen()ください。

$filename = basename($entry, ".php");
$length = strlen($filename);

if (($length >= 4 && $length <= 5) && ctype_digit($filename)) {
  // your code
}
于 2012-11-07T16:30:49.133 に答える
2
if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {
--do something here--
}
于 2012-11-07T16:29:25.747 に答える
2

それ以外の

 if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {

使用する

if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {
于 2012-11-07T16:29:42.893 に答える