我有这样的网址:http://example.com/c/TEXTTOMATCH/
。问题在于URL并不总是这样。有时是http://example.com/c/TEXTTOMATCH/#/?test
。我正在尝试使用正则表达式来捕获/c/
和/
之间的所有内容。我试过了
$catpreg = preg_match('/c(.*)/', $reffer, $matches);
但是失败了。
最佳答案
试试这个:
preg_match('#/c/(.*?)/#', $reffer, $matches);
您只是
c
之后的所有字符,与斜杠不匹配。您的呼叫中的斜杠被用作正则表达式周围的定界符,我使用#
作为定界符,因此我可以在正则表达式中使用/
而不用对其进行转义。非贪婪量词
.*?
确保在第二个示例中仅匹配TEXTTOMATCH
,而不匹配TEXTTOMATCH/#
。