为了账号安全,请及时绑定邮箱和手机立即绑定

正则匹配,大括号设置匹配次数时,小括号内容不能正确匹配的问题

正则匹配,大括号设置匹配次数时,小括号内容不能正确匹配的问题

PHP
拉风的咖菲猫 2019-03-13 21:37:25
如下代码 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 "这个结果再做一步切割就可以了。

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 443 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信