Transforma una cadena separada por comas en una lista pero ignora las comillas entre comillas

Como me convierto"1,,2'3,4'" en una lista? Las comas separan los elementos individuales, a menos que estén entre comillas. En ese caso, la coma se incluirá en el elemento.

Este es el resultado deseado:['1', '', '2', '3,4']. Una expresión regular que encontré en otro hilo para ignorar las citas es la siguiente:

re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''')

Pero esto me da esta salida:

['', '1', ',,', "2'3,4'", '']

No puedo entender de dónde provienen estas cadenas vacías adicionales y por qué las dos comas se imprimen, y mucho menos juntas.

Intenté hacer esta expresión regular yo mismo:

re.compile(r'''(, | "[^"]*" | '[^']*')''')

que terminó sin detectar nada, y acaba de devolver mi lista original.

No entiendo por qué, ¿no debería detectar las comas por lo menos? El mismo problema ocurre si agrego un? despues de la coma

Respuestas a la pregunta(2)

Su respuesta a la pregunta