如果我在我的正则表达式中输入 *,它就不起作用,如果我输入 +,它就起作用。
*
应该表示 0 或更多,+
应该表示 1 或更多。
带 * 的情况
$num = ' 527545855 ';
var_dump( preg_match( '/\d*/', substr( $num, 0, 18 ), $coincidencias ) );
var_dump($coincidencias);exit;
结果:
int(1)
array(1) {
[0]=>
string(0) ""
}
带 + 的情况
$num = ' 527545855 ';
var_dump( preg_match( '/\d+/', substr( $num, 0, 18 ), $coincidencias ) );
var_dump($coincidencias);exit;
结果:
int(1)
array(1) {
[0]=>
string(9) "527545855"
}
我认为两者都应该工作,但我不明白为什么 * 不起作用。