im,因为转换时我在字符串中遇到单词VALUES的问题。示例字符串是
INSERT INTO lt VALUES (2, '2007-08-06', 10000.00, 'startVALUES VALUE\'S startVALUESend VALUESend', NULL);
我正在使用
(\'.*?(?:\\').*?(values).*?\')
这是my regex演示。
我设法将重点放在引号之间的文本上,不匹配转义的引号,但是我无法匹配所有的VALUES,只有一个被捕获。您能帮忙捕捉开始(VALUES)和(VALUES)结束
我的pg2mysql转换器将引号内的VALUES替换为其他插入内容,因此我想捕获引号内的可能值字符串并采取一些解决方法。
答案 0 :(得分:0)
您需要先将值分开,然后再将其添加到insert语句-
$column1 = "startVALUES VALUES startVALUESend VALUESend";
$column1 = preg_replace('/\s+/',' ',str_replace('VALUES','',$column1));
如果字符串VALUE\'s
附带,则需要单独处理。
希望这会有所帮助。