PHP RegExpr错误未知修饰符'('

Ano*_*ous 3 php regex

我有这个正则表达式:

([http://some.url.com/index.php?showtopic=\"]*)([0-9]+(?:\.[0-9]*)?)
Run Code Online (Sandbox Code Playgroud)

它用于从论坛中提取主题的链接

现在当我在我的脚本中使用它时

$url = "([http://some.url.com/index.php?showtopic=\"]*)([0-9]+(?:\.[0-9]*)?)";
Run Code Online (Sandbox Code Playgroud)

preg_match_all吐:"未知的修饰符'('"

这也是对preg_match的调用

preg_match_all($url, $str, $matches,PREG_OFFSET_CAPTURE,3);
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个明显愚蠢的问题

Bol*_*ock 6

您需要将正则表达式包装在分隔符中.任何不是特殊PCRE元字符的字符都可以,所以我将使用#:

$url = "#([http://some.url.com/index.php?showtopic=\"]*)([0-9]+(?:\.[0-9]*)?)#";
Run Code Online (Sandbox Code Playgroud)

您可以在PHP手册部分中了解有关PCRE分隔符的更多有关分隔符的信息.