To be honest with you, I'd do it with two regexes: the first to extract the comma separated values, which is pretty trivial:
(?<=xyz\().+?(?=\))
Then either Split the string on commas, or parse it with a second, simple regex:
([^,]+?)(?=,|$)
Wich gives you each element in a separate Match.
That way, laters changes are a whole load easier to work out - complex regexes are hard to read and even harder to modify!