>>21 後者です。
str.split(regexp) #=>["first", "second\"a,b,c\"second", "third"]
というのを期待しています。
ダブルクオーテーションはネストしないと仮定しています。
正規表現は難しいです。