我需要替换成像这样的数十万个SQL行:
UPDATE table1 SET id = 2651,label ='Black'WHERE table
。id
= 2651;
如何在单引号内捕获单词(在本例中为'Black')?
答案 0 :(得分:2)
如果您以字符串形式处理该请求,请使用preg_match和preg_replace执行以下操作:
$req = "UPDATE table1 SET id = 2651,label = 'Black' WHERE table.id = 2651;"
捕获单词' Black'在$req
中:
$pat = '/label = \'(.*?)\'/';
preg_match($pat, $req, $matches);
echo $matches[1];
更换单词' Black'在$req
中(上述步骤不是必需的):
$newReq = preg_replace('/label = \'(.*?)\'/', 'label = \'white\'', $req);
echo $newReq;
答案 1 :(得分:0)
使用正则表达式 - 查看preg_replace
的文档。要匹配label = 'Black'
,您可以使用正则表达式:label\s*=\s*\'Black\'