我在Java8中有以下regex模式:
\\(*.+?\\)*
我的测试用例是:
(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)
有任何方法来做这个吗?
发布于 2018-06-14 23:22:01
Regex不能用来做这种事。很可能更容易使用某种类型的解析程序(比如python),它再次使用递归,并在每个括号对中进行检查。
https://stackoverflow.com/questions/50867133
复制相似问题