标签: php regex preg-match
我想匹配括号最少的内容,但排除其中的另一个括号。
示例1:
字符串: ((((1)))(2) 结果: 2
字符串:
((((1)))(2)
结果:
2
示例2:
字符串: ((((1)2)3) 结果: 3
((((1)2)3)
3
示例3:
字符串: (1(2(3))) 结果: 1
(1(2(3)))
1
我的正则表达式是:
\(((?>[^\(\)]+|(?R))*)\)
不幸的是结果不一样。
答案 0 :(得分:0)
尝试一下:
(?<!\({2}|\(\d\(|\))(\d)|(\d)(?:\)[^\(\)\d])
DEMO