用于搜索平衡括号的正则表达式

时间:2015-09-25 22:38:29

标签: regex

有没有办法匹配开括号和近括号? 因为我在bash下工作,似乎我不能使用局部变量和递归匹配。

e.g。

(((((123))))) # shall be matched
((123)        # shall not.

编辑: 由于所有括号都是连续的

,因此情况略有不同

1 个答案:

答案 0 :(得分:0)

这是一个延伸但是如果括号是连续的并且它们的最大数量很小,你可以做^(?:[\(]{1}[^\(\)]*[\)]{1}|[\(]{2}[^\(\)]*[\)]{2}|[\(]{3}[^\(\)]*[\)]{3}|[\(]{4}[^\(\)]*[\)]{4})$之类的事情。