日期:2014-05-17  浏览次数:20669 次

简单的正则求大家指点
$str='cbaaaa';
$preg='/ba*/';
preg_match($preg,$str,$arr);
dump($arr[0]);
这个结果是baaaa能理解

$str='bbaaaa';
$preg='/ba*/';
preg_match($preg,$str,$arr);
dump($arr[0]);
这个结果为什么会是b呢?



------解决方案--------------------
$preg='/ba*/';
等同
$preg='/ba{0,}/';

然后你用
preg_match_all($preg,$str,$arr);

打印下$arr 就知道咋回事了
------解决方案--------------------
楼上正解

你的第二个正则表达式遇到第一个b就已经匹配了。所以不会匹配之后的baaaa