Регулярное совпадение пробелов, но не в «строках»

Я ищу регулярные выражения, соответствующие пробелам, только если эти пробелы не заключены в двойные кавычки ("). Например, в

Mary had "a little lamb"

оно должно соответствовать первому и второму пробелу, но не другим.

Я хочу разбить строкутолько в пробелах, которых нет в двойных кавычках, и не в кавычках.

Я использую C ++ с инструментарием Qt и хотел использовать QString :: split (QRegExp). QString очень похож на std :: string, а QRegExp в основном являются регулярным выражением POSIX, инкапсулированным в класс. Если бы существовало такое регулярное выражение, разделение было бы тривиальным.

Примеры:

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

Извините за правки, я был очень неточен, когда впервые задал вопрос. Надеюсь, теперь это несколько яснее.

Ответы на вопрос(5)

Ваш ответ на вопрос