go ahead... be a heretic | |
PerlMonks |
regex extraction for variable number of argsby NetWallah (Canon) |
on Jul 21, 2012 at 06:39 UTC ( [id://982955]=perlquestion: print w/replies, xml ) | Need Help?? |
NetWallah has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to parse something that looks like a function call, and extract the function name, and the arguments. Attempting to do this with a single regex gets me either the first, or last arg - I cant seem to handle a variable (can be zero) number of arguments. Given: I am trying to extract:
Here is what I have tried: Including the trailing asterisk gives me the last param. Excluding it gives me the first. It is getting increasingly obvious that I am not approaching this regex correctly. Please enlighten. Thanks. The call can have zero arguments. Arguments can contain pretty much anything, other than close-paren , white-space or comma or some nasty side-effect-inducing chars. They are not quoted. Update 1: This regex gives better results (3 args found), but , for some reason, it does not match the "." in the second.param. Most likely it is because it is using the (\w+) to match the second param. I'm confused about how to repeat only the second part of the regex - the attempt with the non-capturing paren does not seem to repeat that group.
I hope life isn't a big joke, because I don't get it.
Back to
Seekers of Perl Wisdom
|
|