你能帮我一个正则表达式吗:
$value = '["number"]';
or
$value = '["number","number"]';
or
$value = '["number","number","number"]';
or
...
...
...
...
$value = '["number","number","number","number","number","number","number"......,"number"]';
//$number can be rand(0, 99.....999);
我需要验证结果是真还是假!
这是我
的版本:
function test($v)
{
if (preg_match('/^''[("number")(,"number")*'']$/', $v))
echo 'ok<br>';
else
echo 'fail<br>';
}
或者如果"数字"真的是数字,这个:
function test($v)
{
if (preg_match('/^''[("[0-9]+")(,"[0-9]+")*'']$/', $v))
echo 'ok<br>';
else
echo 'fail<br>';
}
注意 - 只接受正自然数,需要更改为负数和十进制/浮点数
你真的需要使用PCRE吗?您的示例是有效的 json。
$array = json_decode('["number", "number", "123"]');
var_dump($array);
如果只需要数字,可以对其进行筛选。
$new_array = array_filter($array, 'ctype_digit');
$result = count($array) == $new_array? $new_array : null;
var_dump($result);