下面的代码完美地工作:$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 关注
- 126 浏览
添加回答
举报
0/150
提交
取消