我在Java8中有以下正则表达式模式:
\\(*.+?\\)*
我的测试用例是:
(1-4*(3^2))*10/5+(10-2)
2+4/2
现在比赛是 -
第一个:(1-4*(3^2))
和(10-2)
。
我希望获得以下匹配:(1-4*(3^2))
和(3^2)
以及(10-2)
和不以捕获2+4/2
。我需要这个来计算雾化部分并替换原始像:(1-4*9)
有没有办法做到这一点?
答案 0 :(得分:1)
正则表达式不能用来做这种事情。使用某种解析程序(比如使用python)更容易使用递归并再次检查每个括号对内部。