And what you want to do if a value or a key of that string contains a ","?
Well, it's generally best to "know your data" when formulating a regex too. If the data fields of interest are expected to contain meta-characters that are elsewhere used as delimiters, then of course you can't split() on those characters. On the other hand (and this is something only the OP could answer) will your data ever contain delimiter-characters? If not, then this isn't a problem.

And using regexp...you have to maintain less/less "complex" code.
Fewer lines, sure. Lower complexity? I suppose that's a matter of opinion. Be kind to your maintenance programmer who may or may not be yourself.