-1
我提到这个问题 - Capture group reference + numeral捕获组+数字为PHP
我试着用这两个选项。下面是使用ECMAScript表达式示例代码(我想我需要用这个,纠正我,如果我错了) -
$string = "box.last_rollout_revision = dummy";
$regex = "/(box\.last_rollout_revision[\s]*=[\s]*)[a-z0-9-_]*([\n]*)/";
$test = "234";
$replacementPattern = "$1".$test."$2";
echo preg_replace($regex,$replacementPattern,$string);
预计输出
box.last_rollout_revision = 234
实际获得
34
PS我正试图用一个配置文件中的一个关键字替换其他值,这个文件有几个其他的键值对。我认为在这种情况下,正则表达式会更容易。纠正我,如果我错了。
@Sandeepan纳特只是解释 - 你的'$ replacementPattern'弄成'$ 1234 $ 2'使其搜索捕获组没有。 '1234'。 – ClasG
@Wiktor当我在http://phptester.net/上尝试时,它给了我输出 - 'abc',并附有通知 - 'NOTICE未定义的变量:第8行上的' –
刚刚经过测试并获得' box.last_rollout_revision = 234' –