Php 仅提取以“开始”开头的数字/&引用;并以"结束,-&引用;使用正则表达式
我的一个变量中有url地址:Php 仅提取以“开始”开头的数字/&引用;并以"结束,-&引用;使用正则表达式,php,regex,Php,Regex,我的一个变量中有url地址: $a = "http://www.example.com/cat1/something/subcat/543210-1abce-dsef100-199-test.html" 我只想从这个字符串中选择数字“543210”,要选择这些数字,我知道这些数字在符号/之后开始,在符号-之前结束。我试图修改此代码: $output = preg_replace( '/[^0-9]/', '', $a); 但是我不知道应该在哪里添加/和-,以使此代码正常工作 另一方面,我知道
$a = "http://www.example.com/cat1/something/subcat/543210-1abce-dsef100-199-test.html"
我只想从这个字符串中选择数字“543210”,要选择这些数字,我知道这些数字在符号/
之后开始,在符号-
之前结束。我试图修改此代码:
$output = preg_replace( '/[^0-9]/', '', $a);
但是我不知道应该在哪里添加/
和-
,以使此代码正常工作
另一方面,我知道我可以用php函数
按/
分解,找到正确的片段,但是url地址可以包含不同数量的/
,所以我应该使用正则表达式。您可以使用lookaheads:
(?<=/)(\d+)(?=-)
(?543210
试试这个。它使用前向和后向方法提取数字
(?<=\/)\d{0,}(?=-)
(?您也可以尝试:
\/([0-9]+)\-
只需分解并从最后一个标记中提取数字。
\/([0-9]+)\-