Java Regex - 尝试使用正则表达式获取“函数”参数数组

时间:2012-02-27 03:20:46

标签: java regex

我有一堆表示数学函数的字符串(可以嵌套并具有任意数量的参数),我希望能够使用正则表达式返回一个字符串数组,每个字符串都是外部参数 - 功能最多。这是一个例子:

"f1(f2(x),f3(f4(f5(x,y,z))),f(f(1)))"

我想要一个正则表达式模式,我可以用来以某种方式得到f1的所有参数的数组,在这种情况下是字符串“f2(x)”,“f3(f4(f5(x,y, z)))“和”f(f(1))“。输入字符串中没有空格。

非常感谢能够提供帮助的任何人。

1 个答案:

答案 0 :(得分:4)

我认为单独使用正则表达式不能做到这一点。

这可能需要能够识别平衡的括号 - 例如,一旦我们解析了f1(f2(x),下一个字符可以是), - 这是无法用正则表达式完成的事情的典型示例,但需要更复杂的解析器。