I know, now I have two problems. But I\'m having fun!
I started with this advice not to try and split, but instead to match on what is an acceptable field, and expa
Operator precedence. Basically there is none. It's all left to right. So the or (|) is applying to the closing quote lookahead and the comma lookahead
Try:
(?:(?<=")([^"]*)(?="))|(?<=,|^)([^,]*)(?=,|$)