84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
<?php
$zz = '/奥迪*/';
$string = "奥迪奥迪迪2500都是我最爱";
if(preg_match($zz, $string, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
为什么输出结果是‘奥迪’,而不是‘奥迪奥迪’或者‘奥迪迪’,*不是最少0次吗,有两次情况下怎么没全部提取出来
使用preg_match应该匹配到“奥迪”,使用preg_match_all应该匹配到“奥迪奥迪迪”,
这是理论结果,可实际上正则匹配中文的例子我还没有见到过,正则只能检查是不是中文和限制长度,而且是用的中文的字节码,类似这种:u4e00-u9fa5
preg_match 只匹配一个
preg_match_all 才是全部匹配结果
建议去查查手册
使用preg_match应该匹配到“奥迪”,使用preg_match_all应该匹配到“奥迪奥迪迪”,
这是理论结果,可实际上正则匹配中文的例子我还没有见到过,正则只能检查是不是中文和限制长度,而且是用的中文的字节码,类似这种:u4e00-u9fa5
preg_match 只匹配一个
preg_match_all 才是全部匹配结果
建议去查查手册