正则表达式 php for a pro


Regular expression php for a pro

你能帮我一个正则表达式吗:

$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);