PHP正则表达式转义符错误:;preg_match():编译失败:缺少)";


PHP regex escape character error: "preg_match(): Compilation failed: missing )"

免责声明

为了一个易于阅读的示例,我将把应该匹配的文本分配给变量$data。实际上,该文本位于通过file_get_contents()读取的大型文本文档中。

我目前理解的问题解释

我得到了错误:Warning: preg_match(): Compilation failed: missing ) at offset 61-虽然我知道这可能是由于正则表达式中的转义符不正确(从堆栈溢出的类似帖子中推断(,但我似乎无法发现我的错误。有人能指出我犯的错误是在哪里造成的吗?

我的代码

$data = "dbparts = array('test', 'test', 'test', 'test');";
$pattern = "/dbparts = array'('([^']*)', '([^']*)', '([^']*)', '([^']*'');/";
preg_match($pattern, $data, $results);

One"("需要添加-

/dbparts = array'('([^']*)', '([^']*)', '([^']*)', '([^']*)'');/
                                                          ^

你能试试这个吗?

$pattern = "/dbparts = array'('([^']*)', '([^']*)', '([^']*)', '([^']*)'');/";

我在最后一个之前加了a(。