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 需要帮助从uri中提取spotify id吗_Php_Regex - Fatal编程技术网

Php 需要帮助从uri中提取spotify id吗

Php 需要帮助从uri中提取spotify id吗,php,regex,Php,Regex,我试图从spotify uri(例如spotify:track:5xioIP2HexKl3QsI8JDlG8)中提取spotify id。我知道这应该很容易,但我似乎无法得到任何验证 到目前为止,我得到的是: spotify:track:[a-zA-Z0-9]{22} 但是它会拉动整个字符串,我如何才能使它只在冒号之后拉动?正则表达式很好,但是您需要将id部分分组(使用()),以便可以捕获它: $str = "spotify:track:5xioIP2HexKl3QsI8JDlG8"; if

我试图从spotify uri(例如spotify:track:5xioIP2HexKl3QsI8JDlG8)中提取spotify id。我知道这应该很容易,但我似乎无法得到任何验证

到目前为止,我得到的是:

spotify:track:[a-zA-Z0-9]{22}

但是它会拉动整个字符串,我如何才能使它只在冒号之后拉动?

正则表达式很好,但是您需要将id部分分组(使用
()
),以便可以捕获它:

$str = "spotify:track:5xioIP2HexKl3QsI8JDlG8";
if (preg_match('/spotify:track:([a-zA-Z0-9]{22})/', $str, $re)) {
  $spotifyId = $re[1];
}

除了使用捕获组,您还可以使用


if(preg_match)('/(?对不起,我不是有意省略这个。PHP。
if (preg_match('/(?<=spotify:track:)[a-zA-Z0-9]{22}/', $str, $matches)) {
    $id = $matches[0];
}