我需要匹配并替换括号之间的特定单词(包括括号)。
像这样的东西:
xxx(xxxxSPECIFICWORDxxxxxxxxxxx)xxx
我需要更换这个:
(xxxxSPECIFICWORDxxxxxxxxxxx)
我的文字看起来像这样:
xx(xxxx)xxxx(xxxxxxxx)xxx(xxx)xxx(xxxxSPECIFICWORDxxxxxxxxxxx)xxx
我尝试用 preg_replace 编写正则表达式,但问题是它替换了从第一个括号到最后一个特定单词括号的所有文本。我真的不知道该怎么办有人可以帮助我吗?
thanks.
丹尼斯,使用这个简单的正则表达式:
\([^(]+SPECIFICWORD[^)]+\)
这是一个演示:
<?php
$string = "xx(xxxx)xxxx(xxxxxxxx)xxx(xxx)xxx(xxxxSPECIFICWORDxxxxxxxxxxx)xxx";
$regex="~\([^(]+SPECIFICWORD[^)]+\)~";
echo preg_replace($regex,"\1NEWWORD",$string);
?>
输出:
xx(xxxx)xxxx(xxxxxxxx)xxx(xxx)xxxNEWWORDxxx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)