如何删除第一个括号? (preg_replace函数)

时间:2014-11-28 15:51:28

标签: php preg-replace

我需要帮助,我有一个正则表达但我不明白。

我有这个:

$string = '(54) (11) 4444 5555';
echo preg_replace("/\([^)]+\)/","",$string);

输出:4444 5555

但我需要这个输出:(11) 4444 5555

如果我有(54(1(1))9)(11(2(3)))4444 5555 我需要(11(2(3)))4444 5555。

没有第一个括号。

THX。

2 个答案:

答案 0 :(得分:0)

$string = '(54) (11) 4444 5555';
echo  preg_replace("/^\([0-9]+\) /", "", $string);

输出

(11) 4444 5555

答案 1 :(得分:0)

请尝试使用此RegEx:^((\(.*?)(\)\s))(.*)$

$string = '(54(1(1))9) (11(2(3))) 4444 5555';
echo  preg_replace("/^((\(.*?)(\)\s))(.*)$/", "", $string);

Input: (54(1(1))9) (11(2(3))) 4444 5555
Output: (11(2(3))) 4444 5555

有效的RegEx示例位于Regex101。该页面还解释了RegEx的每个部分匹配的内容。