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

PHP正则表达式转义字符错误:";preg_match():编译失败:丢失)";,php,regex,preg-match,Php,Regex,Preg Match,免责声明 为了便于阅读示例,我指定了应与变量$data匹配的文本。实际上,此文本位于一个大文本文档中,可通过文件\u get\u contents()读取 我目前理解的问题解释 我得到了错误:警告:preg_match():编译失败:丢失)偏移量61-虽然我知道这可能是由于我的正则表达式中的转义字符不正确(从堆栈溢出的类似帖子推断),但我似乎无法发现我的错误。有人能指出我犯的错误是导致上述错误的原因吗 我的代码 $data = "dbparts = array('test', 'test', '

免责声明

为了便于阅读示例,我指定了应与变量
$data
匹配的文本。实际上,此文本位于一个大文本文档中,可通过
文件\u get\u contents()
读取

我目前理解的问题解释

我得到了错误:
警告:preg_match():编译失败:丢失)偏移量61
-虽然我知道这可能是由于我的正则表达式中的转义字符不正确(从堆栈溢出的类似帖子推断),但我似乎无法发现我的错误。有人能指出我犯的错误是导致上述错误的原因吗

我的代码

$data = "dbparts = array('test', 'test', 'test', 'test');";
$pattern = "/dbparts = array\('([^']*)', '([^']*)', '([^']*)', '([^']*'\);/";
preg_match($pattern, $data, $results);
你能试试这个吗

$pattern = "/dbparts = array\('([^']*)', '([^']*)', '([^']*)', '([^']*)'\);/";
我在需要添加的最后一个“

One”)之前添加了a)-

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

您的最后一个占位符后面还有一个(超过),或者您实际上只是缺少了一个