如下代码
preg_match_all('/(\\d{2}\\s){3,}/',"111333 222 33 afdafdafdafdafd01 02 03 05 07 ",$temp);
var_dump($temp);
结果是
array(2) { [0]=> array(1) { [0]=> string(15) "01 02 03 05 07 " } [1]=> array(1) { [0]=> string(3) "07 " } }
小括号中的匹配结果不是应该是01 ,02 ,03 ,05 ,07 ,吗?为何只匹配到了一个07 ,是因为{3,}的原因?那么怎么写能匹配到下面这样的结果?
array(2) { [0]=> array(1) { [0]=> string(15) "01 02 03 05 07 " } [1]=> array(5) { [0]=> string(3) "01 " [1]=> string(3) "02 " [2]=> string(3) "03 " [3]=> string(3) "05 " [4]=> string(3) "07 " } }
1 回答
Helenr
TA贡献1780条经验 获得超4个赞
没错是因为{3,}
的原因
根据你原来的写法猜测,你想要匹配到连续3组以上由两个数字组成的情况,且两个数字后面紧接着空白字符。
如果是这样的情况的话,你可以从匹配到的结果数组
array[0],"01 02 03 05 07 "这个结果再做一步切割就可以了。
- 1 回答
- 0 关注
- 443 浏览
添加回答
举报
0/150
提交
取消