将左括号与相应的右括号匹配

Ced*_*amo 2 java regex

我正在使用java作为我的程序
假设我有一个像这样的字符串

xx(yyzz(iijj))qq((kkll)(gghh))
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以匹配xx(yyzz(iijj))qq((kkll)(gghh))单独使用正则表达式?

The*_*ann 7

简单的答案是否定的,没有办法只使用正则表达式.只需遍历字符串并将打开的括号推到堆栈上即可.点击括号时弹出.如果您尝试弹出或完成并且堆栈不为空,则它无效.

您还可以通过删除'('和lastIndex of')'的第一个索引来递归地执行此操作,以验证'('小于''的索引')的索引