@guy038
Your regex is better if everything is quoted, but that’s not really what I meant.
In most CSV files, a column is only wrapped in quotes if it contains the separator or a newline.
3223309f-ecd6-4839-adbd-c3ff8c9fe1db-image.png
In the above example (pretty colors courtesy of CSVLint), most columns aren’t wrapped in quotes except column 3 of row 5 and column 2 of row 6. The other part of my regex is the (?:[^"]|\\")* alternation inside the quotes, which is necessary to allow an escaped quote character to be present inside quotes.
Using my column regex (?'column'(?:(?!")(?:(?!\r\n)[^,])*(?<!")|"(?:[^"]|\\")*")) converts
nums,names,cities,date,zone,subzone,contaminated
nan,Bluds,BUS,,1,b,FALSE
0.5,dfsd,FUDG,12/13/2020 0:00,2,c,TRUE
1.2,qere,GOLAR,,3,f,TRUE
3.4,flodt,"comma,in \"column\"",,4,q,FALSE
4.6,"newline
in column",QUZ,10/17/2014 0:00,5,"",TRUE
7,Unyir,MOKJI,5/11/2017 0:00,6,i,TRUE
to seven lines of a,b,c,d,e,f,g as expected.