No offense taken...truly.
I pulled Like2() because it is not reliable yet. Also, if Like() gets the one remaining issue (INSTR causing some 0 returns when 1 is appropriate) then it is fully functional and should be the UDF of choice.
My logic was getting more and more complicated, attempting to do the whole thing in a single FUNCTION.
I wasn't trying to one-up either.
The process for the parsing is a valuable exercise in logic...unfortunately, we found a few examples that really trip up some early assumptions that went into the code. I'm going to try to write-up a flowchart of a correct process.
I do want to contribute here, and I think I have so far. I am impressed with the community. Peers are hard to find in this skill-set!
Best to all,
Ed
_________________________
{Insert your favorite Witty Tag Line here}