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

怎么正则匹配连续的数字?
①$number = 1234784;
正则匹配结果是:1234

②$number = 389456723;
正则匹配结果是:4567
正则 数字

------解决方案--------------------
看来是匹配连续4位的么,如果是,那无非是有数的几种情况:

$s = 389456723;

//连续4位
$r = '(1234
------解决方案--------------------
2345
------解决方案--------------------
3456
------解决方案--------------------
4567
------解决方案--------------------
5678
------解决方案--------------------
6789)';
preg_match_all('/'.$r.'/', $s, $m);

print_r($m[0]);


//连续3位以上
$r = '(1234
------解决方案--------------------
2345
------解决方案--------------------
3456
------解决方案--------------------
4567
------解决方案--------------------
5678
------解决方案--------------------
6789
------解决方案--------------------
123
------解决方案--------------------
234
------解决方案--------------------
345
------解决方案--------------------
456
------解决方案--------------------
567
------解决方案--------------------
678
------解决方案--------------------
789)';
preg_match_all('/'.$r.'/', $s, $m);

print_r($m[0]);

//2位以上的就不用示范了吧