I have a bunch of strings representing mathematical functions (which could be nested and have any number of arguments), and I want to be able to use regex to return an array of strings, each string being an argument of the outer-most function. Here’s an example:
"f1(f2(x),f3(f4(f5(x,y,z))),f(f(1)))"
I would want a regex pattern that I could use to somehow get an array of all the arguments of f1, which in this case are the strings “f2(x)”, “f3(f4(f5(x,y,z)))”, and “f(f(1))”. There will be no spaces in the input string.
Thank you very much to anyone who can help.
I don’t think this can be done with regexes alone.
This would probably require being able to identify balanced parentheses — for example, once we’ve parsed
f1(f2(x), the next character could either be a)or a,— and that’s a canonical example of something that can’t be done with regexes, but requires a more sophisticated parser.