>>8
If you know there's always going to be a comma after the second atom, why not just use a comma as the third atom? That would reduce the number of backreferences needed. And if you don't know that, then this pattern has very different behavior in the comma and no-comma cases. The second atom is probably going to be too greedy without a comma (guessing, based on the .* in the middle; I don't know what application this was written for).