Php 非常简单的预更换不起作用

Php 非常简单的预更换不起作用,php,regex,Php,Regex,我有这段代码,在我用于正则表达式的所有测试程序中都可以使用,但是后来,在我真正的php代码中,它不起作用。我想要的是将链接中的数字替换为其他数字 $value='/something.html?helperid=252'; //patern $patternHelperId='/(?<=helperid=)\d{1,}/'; //replace preg_replace($patternHelperId, "mynewreplacement

我有这段代码,在我用于正则表达式的所有测试程序中都可以使用,但是后来,在我真正的php代码中,它不起作用。我想要的是将链接中的数字替换为其他数字

     $value='/something.html?helperid=252';
     //patern
     $patternHelperId='/(?<=helperid=)\d{1,}/';
     //replace
     preg_replace($patternHelperId, "mynewreplacement",  $value);

     //debug
     echo "\n$value\n";//  /something.html?helperid=252????? aggain???
$value='/something.html?helperid=252';
//帕特恩

$patternheloperid='/(?您应该将
preg\u replace
的结果分配回
$value
,如下所示:

$value = preg_replace($patternHelperId, "mynewreplacement",  $value);

另外,作为旁注,
\d{1,}
可以替换为
\d+

您应该将
preg\u replace
的结果分配回
$value
,如下所示:

$value = preg_replace($patternHelperId, "mynewreplacement",  $value);

另外,作为旁注,
\d{1,}
可以替换为
\d+

preg\u replace
返回结果。它不会就地修改变量

preg\u replace
返回结果。它不会就地修改变量

您忘记了获取preg\u replace函数的结果:

$newValue = preg_replace($patternHelperId, "mynewreplacement",  $value);

echo "\n$newvalue\n";
更好的模式:

$patternHelperId='/helperid=\K\d++/';

您忘记获取preg_replace函数的结果:

$newValue = preg_replace($patternHelperId, "mynewreplacement",  $value);

echo "\n$newvalue\n";
更好的模式:

$patternHelperId='/helperid=\K\d++/';

是什么让你认为是RegEx的错?是什么让你认为是RegEx的错?