我需要帮助,我有一个正则表达但我不明白。
我有这个:
$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。
答案 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的每个部分匹配的内容。