我正在尝试创建一个与preg_replace()一起使用的Regex表达式来替换两个其他表达式之间的表达式。 总体思路是:
$new = "stuff";
$original = /*see below*/;
$final = preg_replace('regex expression', $new, $original);
$ original string的例子:
(...)“dl cm = xxxx opop1 = XYZ opop3 = XXXXXXXXXXXX,XXXX,”thisisit“YYYY = z”(...)
$ final字符串的示例:
(...)“dl cm = xxxx opop1 = XYZ opop3 = XXXXXXXXXXXX,XXXX,”stuff“YYYY = z”(...)
(X,Y,Z可以是任何角色)
表达式必须找到'opop3 = XXXXXXXXXXXX,XXXX,''然后是以下'“'并更改这两个分隔符内的文本。
我认为我找到了如何找到第一个分隔符
(opop3.=(.*)(\,)(.*)(\,)\")
找到以下'''并不难,但我不知道如何在不触及分隔符的情况下更改它们之间的文本。
(如果有人知道其他方式,请告诉我)
答案 0 :(得分:1)
您可以使用PCRE的\K
(重置搜索):
$final = preg_replace('/XXXXXXXXXXXX,XXXX,"\K[^"]+/', $new, $original);