我正试图从spotify uri中提取spotify id(例如spotify:track:5xioIP2HexKl3QsI8JDlG8)我知道这应该很容易,但我似乎无法获得任何验证http://regexpal.com/.
到目前为止,我拥有的是:
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('/(?<=spotify:track:)[a-zA-Z0-9]{22}/', $str, $matches)) {
$id = $matches[0];
}
此处演示-http://codepad.viper-7.com/ESKgCD