我的变量中有一个url地址:
$a = "http://www.example.com/cat1/something/subcat/543210-1abce-dsef100-199-test.html"
我想从这个字符串中仅选择数字" 543210",并选择这些数字我知道这些数字在符号/
之后开始,并且在符号-
之前结束。我试图修改这段代码:
$output = preg_replace( '/[^0-9]/', '', $a);
但我不知道应该在哪里添加/
和-
以使此代码正常运行。
P.S。我知道我可以通过explode
使用php函数/
来查找正确的部分,但是url地址可以包含不同数量的/
,所以我应该使用正则表达式。 < / p>
答案 0 :(得分:2)
您可以使用前瞻:
(?<=/)(\d+)(?=-)
<强>代码:强>
if (preg_match( '~(?<=/)(\d+)(?=-)~', $input, $m))
echo $m[1]; //=> 543210
答案 1 :(得分:0)
答案 2 :(得分:0)
你也可以试试这个:
\/([0-9]+)\-