关于正则的一个简单匹配,知道其原理者,全分相送 $str='cs0d07n';你说 *和+有什么区别? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 输出:0=>0=>007其实是正确的,前者*匹配的是0到N的十进制数字,因此空也是它能匹配的值,所以才会输出 0=>'',否则没有匹配数组应该是空的;因此 \d* 这个正则是没啥意义的。 $str="cs007dn"; preg_match_all('/\d*/',$str,$array);//遍历整个$str然后退出, print_r($array); preg_match('/\d*/',$str,$array);//当遇到一个满足条件的就退出,0也满足条件,退出 print_r($array); preg_match('/\d+/',$str,$new_array);//当遇到满足条件的就退出,1个或更多个 print_r($new_array); 4楼的大哥说的相当正确,我终于明白了,这不是正则在作怪,而是preg_match函数的运行机制 PHP过滤字符 关于ajax的简单问题,求解答。 一个RewriteRule匹配了,却不起作用,极度不解中... 一个关于php上传的问题 奇怪的问题啊 PHP语法问题请教! 【求助】php对资源限时锁定的实现方式 请教两个问题! 求救mysql里的mysql表没了 看不懂啊,请给我详细解释下. 读取数据库里字段值有时错误有时正确。。 php小问题
0=>
0=>007其实是正确的,
前者*匹配的是0到N的十进制数字,因此空也是它能匹配的值,所以才会输出 0=>'',否则没有匹配数组应该是空的;
因此 \d* 这个正则是没啥意义的。
preg_match_all('/\d*/',$str,$array);//遍历整个$str然后退出,
print_r($array);
preg_match('/\d*/',$str,$array);//当遇到一个满足条件的就退出,0也满足条件,退出
print_r($array);
preg_match('/\d+/',$str,$new_array);//当遇到满足条件的就退出,1个或更多个
print_r($new_array);