我有一堆表示数学函数的字符串(可以嵌套并具有任意数量的参数),我希望能够使用正则表达式返回一个字符串数组,每个字符串都是外部参数 - 功能最多。这是一个例子:
"f1(f2(x),f3(f4(f5(x,y,z))),f(f(1)))"
我想要一个正则表达式模式,我可以用来以某种方式得到f1的所有参数的数组,在这种情况下是字符串“f2(x)”,“f3(f4(f5(x,y, z)))“和”f(f(1))“。输入字符串中没有空格。
非常感谢能够提供帮助的任何人。
答案 0 :(得分:4)
我认为单独使用正则表达式不能做到这一点。
这可能需要能够识别平衡的括号 - 例如,一旦我们解析了f1(f2(x)
,下一个字符可以是)
或,
- 这是无法用正则表达式完成的事情的典型示例,但需要更复杂的解析器。