正则表达式在单引号之间提取文本

时间:2017-12-01 20:24:31

标签: php regex

我有以下SQL插入语句

INSERT INTO table 1 VALUES ('abc', 'foo\'bar', '123');

我试图将值提取到数组中

array('abc', 'foo\'bar', '123');

(注意:给定的字符串可以包含嵌套的单引号,但它总是被转义)

这是我目前正在使用的正则表达式

'(.*?)(?<!\\\\)'

它工作得很好,但它为大字符串做了大量的回溯步骤并且命中了php.ini限制 pcre.backtrack_limit

如何减少回溯步骤的数量?我已经读过有关财产,原子团体和回溯控制动词的内容,但仍然无法弄明白。

0 个答案:

没有答案