正则表达式匹配括号内的内容

时间:2019-03-09 10:53:40

标签: php regex preg-match

我想匹配括号最少的内容,但排除其中的另一个括号。

示例1:

  

字符串:

     

((((1)))(2)

     

结果:

     

2

示例2:

  

字符串:

     

((((1)2)3)

     

结果:

     

3

示例3:

  

字符串:

     

(1(2(3)))

     

结果:

     

1

我的正则表达式是:

\(((?>[^\(\)]+|(?R))*)\)

不幸的是结果不一样。

1 个答案:

答案 0 :(得分:0)

尝试一下:

(?<!\({2}|\(\d\(|\))(\d)|(\d)(?:\)[^\(\)\d])

DEMO