代码:
preg_match("/(\/.*?\/)((?:[^\/]|\\\/)+?)(?:(?<!\\)\s|$)/", $line, $matches);
代码测试位置:http://www.phpliveregex.com/p/ivO
在我本地我得到:
preg_match(): Unknown modifier ')'
PHP 5.6.26
最佳答案
主要问题是您未能正确转义反斜杠。您需要四个反斜杠来匹配 PHP 字符串文字中的文字反斜杠。另外,如果您的模式包含如此多的反斜杠,您应该考虑使用不同的正则表达式分隔符。
我建议
preg_match("~(/.*?/)((?:[^/]|\\\\/)+?)(?:(?<!\\\\)\s|$)~", $line, $matches);
波浪号作为正则表达式分隔符将使模式更清晰,因为不再需要转义反斜杠。
关于php - preg_match() : Unknown modifier ')' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41570558/