> str.match(/('[^']+'|[^,]+)/g)
["A", "B", "C", "E", "'F,G,bb'", "H", "'I9,I8'", "J", "K"]
Although you requested this, you may not consider corner cases, for example:
'bob\'s'- string in which to 'escapea,',ca,,ba,b,,a,ba,b,'',a,b',a,b,c,'
; - . , , , , , ( ).
RegEx:
('[^']+'|[^,]+) - '[^']+', [^,]+'[^']+' ... ... quote.[^,]+
: , , , .