下面的代码完美地工作:$string = '(test1)';$new = preg_replace('/^\(+.+\)+$/','word',$string);echo $new;输出:word如果代码是这样的:$string = '(test1) (test2) (test3)';如何生成输出: word word word?
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
为什么我的正则表达式不起作用?
^ and $是锚,这意味着匹配应.意味着匹配除换行符以外的任何内容,+意味着一个或多个,默认情况下正则表达式本质上是贪婪的,因此它尝试尽可能多地匹配我们想要匹配的地方,( )因此我们需要稍微更改模式
您可以使用
\([^)]+\)

$string = '(test1) (test2) (test3)';
$new = preg_replace('/\([^)]+\)/','word',$string);
echo $new;
- 1 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消
