非常简单的正则表达式来获取网址中的数字:http://artige.no/bilde/6908

时间:2011-10-18 13:08:05

标签: php regex

这只是一个非常简单的正则表达式问题。我想从网址中抓取最后一个数字,如下所示:

http://artige.no/bilde/6908

网址将始终如下所示,/ bilde /

后面有一个数字

4 个答案:

答案 0 :(得分:7)

你真的不需要正则表达式。

$url = 'http://artige.no/bilde/6908';
$num = intval(substr($url, strrpos($url, '/') + 1));
echo $num;

答案 1 :(得分:4)

在这种情况下,

~/bilde/(\d+)~

是你寻求的。将在字符串/bilde/

之后找到任意数量的数字

答案 2 :(得分:0)

$matches = array();
$url = "http://artige.no/bilde/6908";
preg_match('/([0-9]+)$/', $url, $matches);
print_r($matches);

这使用模式([0-9]+)$来匹配字符串末尾的一个或多个数字。

答案 3 :(得分:0)

"(?<=/bilde/)\d+$"

用grep测试:

kent$  echo "http://artige.no/bilde/6908"|grep -Po "(?<=/bilde/)\d+$"
6908

根据您的要求,(/ bilde /)url like:

http://artige.no/NoTWithBilde/1234

将无法匹配。