如何使用Java的正则表达式来分割嵌套的数学方程式

Luc*_*ang 0 java regex string

我很好奇如何使用java的字符串正则表达式有意义地用括号分割数学方程式.没有一个例子很难解释,一个在下面.

可以理解通用的解决方案模式,而不是仅适用于下面提供的示例的模式.

String s = "(5 + 6) + (2 - 18)";
// I want to split this string via the regex pattern of "+",
// (but only the non-nested ones) 
// with the result being [(5 + 6), (2 - 18)]

s.split("\\+"); // Won't work, this will split via every plus.
Run Code Online (Sandbox Code Playgroud)

我主要想要的是第一级分割,我想要一个正则表达式检查以查看像"+"或" - "这样的符号是否以任何形式嵌套,如果是,不要拆分它,如果它不是'拆分它.嵌套可以是()或[]的形式.

谢谢.

Wil*_*ill 5

不幸的是,不是使用RegEx,你需要一个像JEP这样的库