我的目标:
捕捉URL的最后一部分,无论是否有尾随斜杠,在类似以下URL的字符串中,尾随斜杠不是该字符串的一部分:
http://foo.com/p/dPWjiVtX-C/
^^^^^^^^^^
The string I want
我的问题:
我尝试的所有方法都只允许在URL末尾添加斜杠,而不能让URL没有斜杠或者让斜杠包含在我想要的字符串中。
我尝试了什么?
1. 我尝试在结尾处添加斜杠:
$regex = "/.*?foo\.com\/p\/(.*)\//";
if ($c=preg_match_all ($regex, $url, $matches))
{
$id=$matches[1][0];
print "ID: $id \n";
}
如果没有斜杠的话,会导致错误。
2. 我尝试添加一个问号:
$regex = "/.*?foo\.com\/p\/(.*)[\/]?/";
这会导致斜杠(如果存在)出现在我的字符串内部。
我的问题/简而言之:
如何构建一个正则表达式,不需要斜杠,但保持斜杠不出现在我前面的字符串中?