首页  >  文章  >  后端开发  >  preg_match_all()正则取数据,为什么少了最后一个数字?

preg_match_all()正则取数据,为什么少了最后一个数字?

WBOY
WBOY原创
2016-06-23 14:25:031394浏览

preg_match_all('/id=(.*)[0-9]/', 'http://www.baidu.com/go.htm?spm=a1z10.1.w5003-4193336463.1.aoWyoL&id= 35468681941&scene=baidu_session', $id);

我想要拿到网址中的id值。
上面那样只能拿到3546868194,少了个1。这是为什么呢?


回复讨论(解决方案)

写成这样可以了,谢谢各位。
preg_match_all('/id\=(\d+)/',

额,我只知道怎么改,不知道为什么.....如果你只想匹配数字只要  /id=[0-9]*/  就好啦,  
/id=(.*)[0-9]/这个太乱了,连模式单元都用上了..

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn