匹配括号中的每个表达式 - REGEX

时间:2018-06-14 23:11:45

标签: java regex

我在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)有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

正则表达式不能用来做这种事情。使用某种解析程序(比如使用python)更容易使用递归并再次检查每个括号对内部。