Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅提取以“开始”开头的数字/&引用;并以"结束,-&引用;使用正则表达式_Php_Regex - Fatal编程技术网

Php 仅提取以“开始”开头的数字/&引用;并以"结束,-&引用;使用正则表达式

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); 但是我不知道应该在哪里添加/和-,以使此代码正常工作 另一方面,我知道

我的一个变量中有url地址:

$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]+)\-