PHP升华文本使用查找和替换正则表达式

PHP升华文本使用查找和替换正则表达式,php,replace,find,expression,Php,Replace,Find,Expression,我遇到了一个问题,我需要搜索并替换一些单词 以下是一个例子: $num = $enreg1["num"]; $daterecep = $enreg1["date_recep"]; 最后我想说: $num = $enreg1->num; $daterecep = $enreg1->date_recep; 然后我写了这个正则表达式: enreg[1-9]?\["[\w]+"] 它工作得很好,我找到了我想要的所有单词,但问题是当我想替换我找到的单词时。 因为我只想用零替换[“by->

我遇到了一个问题,我需要搜索并替换一些单词 以下是一个例子:

$num = $enreg1["num"];
$daterecep = $enreg1["date_recep"];
最后我想说:

$num = $enreg1->num;
$daterecep = $enreg1->date_recep;
然后我写了这个正则表达式:

enreg[1-9]?\["[\w]+"]
它工作得很好,我找到了我想要的所有单词,但问题是当我想替换我找到的单词时。 因为我只想用零替换[“by->和”]

如果有人知道如何使用升华文本进行替换


谢谢你的帮助

您需要在正则表达式中添加括号以获得匹配的值,如下所示:

(enreg[1-9]?)\["([\w]+)"]
然后,您可以使用replace输入中的$x检索该值($1表示第一个值,$2表示第二个值…)

在您的情况下,必须使用以下替换模式:

$1->$2
对于第一行,1美元将替换为“enreg1”,2美元将替换为“num”,因此您将有:

$num = $enreg1->num;