Hi All.

I'm really stuck so hoping someone on the list can help. I'm looking for single 
regex that can find function calls with exactly 2 parameters. Basically, the 
regex pattern would look something like this:

\(\s*(.+?)\s*,\s*([^,\)]+?)\s*\)

However, the second parameter could contain anything, including commas and 
parentheses enclosed in quotes (or as part of a function that executes as the 
second parameter). Here are some example function calls that the pattern should 
find:

ereg('sdfs', ',)')
ereg('sdfs', addslashes(',)'))


This is a function call that should NOT match:

ereg('sdfs', addslashes(',)'), $regs)


The one variable that will always be true is that if there is a third parameter 
it will always be preceded by a comma (and optional space) and match this 
regex: \$[a-z_][a-z0-9_]* (a valid variable name in PHP).

I suspect the answer may contain some combination of recursion and conditional 
patterns, but I just can't believe there isn't a simpler solution as in my 
experience, complex solutions simply aren't!

Thanks in advance to anyone who can lend a hand.

Sincerely,

Ted Stresen-Reuter
http://tedmasterweb.com

-- 
You received this message because you are subscribed to the 
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/bbedit?hl=en
If you have a feature request or would like to report a problem, 
please email "[email protected]" rather than posting to the group.

To unsubscribe from this group, send email to 
bbedit+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to