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

时间:2014-03-16 19:40:16

标签: php regex preg-match

声明

出于易于阅读的示例的目的 - 我正在分配应该与变量$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);

2 个答案:

答案 0 :(得分:2)

需要添加一个“)” -

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

答案 1 :(得分:1)

你能试试吗?

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

我在最后一个'。

之前添加了a)