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

求助个正则匹配
怎么匹配link/3445/65这样的形式,数字都是随机的,最后的数字可能没有
link/?([0-9]{1,})/?([0-9]{1,})/?$这样写怎么不对啊,不太懂,求助高手

------解决方案--------------------


<?php

$subject = "link/3445/65";
$pattern = '#link/?([0-9]*)/?([0-9]*)/?$#';
preg_match($pattern, $subject, $matches);
print_r($matches);

?>


------解决方案--------------------

$s = "link/3445/644445";
$reg = '/link\/([\d]*)\/([\d]*)$/i';
preg_match($reg, $s, $a);
print_r($a);

------解决方案--------------------
首先,你要是不需要获取匹配里面的具体内容,不要到处加括号,括号是用来获取里面内容的。

$reg = '/link\/\d+\/\d*$/i';