Java Regex - Cadena dividida en espacios - Ignorar espacios entre comillas y comillas escapadas [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Dividir una cadena anidada manteniendo comillas 3 respuestas

Estoy buscando expresiones regulares para hacer lo siguiente en Java:

String originalString = "";
String splitString[] = originalString.spilt(regex);

Algunos casos de prueba:

Original1: foo bar "simple"
Spilt1: { "foo", "bar", "\"simple\"" }

Original2: foo bar "harder \"case"
Spilt2: { "foo", "bar", "\"harder \"case\"" }

Original3: foo bar "harder case\\"
Spilt3: { "foo", "bar", "\"harder case\\"" }

Algunos fragmentos que he encontrado:

# Does not react to escaped quotes
 (?=([^\"]*\"[^\"]*\")*[^\"]*$)
# Finds relevant quotes that surround args
(?<!\\)(?:\\{2})*\"

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta