Regex passende Leerzeichen, aber nicht in "Strings"

Ich suche nach einem regulären Ausdruck, der nur dann Leerzeichen enthält, wenn diese Leerzeichen nicht in doppelte Anführungszeichen (") eingeschlossen sind. Zum Beispiel in

Mary had "a little lamb"

es sollte mit dem ersten und dem zweiten Platz übereinstimmen, nicht aber mit den anderen.

Ich möchte die Saite teilennur an den Stellen, die nicht in Anführungszeichen und nicht in Anführungszeichen stehen.

Ich benutze C ++ mit dem Qt-Toolkit und wollte QString :: split (QRegExp) verwenden. QString ist sehr ähnlich zu std :: string und QRegExp sind im Grunde genommen in einer Klasse gekapselte POSIX-Regex. Wenn es einen solchen regulären Ausdruck gibt, wäre die Aufteilung trivial.

Beispiele:

Mary had "a little lamb"     =>   Mary,had,"a little lamb"
1" 2 "3                      =>   1" 2 "3 (no splitting at ")
abc def="g h i" "j k" = 12   =>   abc,def="g h i","j k",=,12

Entschuldigung für die Änderungen, ich war sehr ungenau, als ich die Frage zuerst stellte. Hoffe es ist jetzt etwas klarer.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage