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\('([^']*)', '([^']*)', '([^']*)', '([^']*)'\);/
^
您的最后一个占位符后面还有一个(超过),或者您实际上只是缺少了一个
)
。