ivisão em espaços, exceto entre certos caractere

Estou analisando um arquivo que possui linhas como

type("book") title("golden apples") pages(10-35 70 200-234) comments("good read")

E eu quero dividir isso em campos separado

No meu exemplo, existem quatro campos: tipo, título, páginas e comentário

O resultado desejado após a divisão é

['type("book")', 'title("golden apples")', 'pages(10-35 70 200-234)', 'comments("good read")]

É evidente que uma simples divisão de cadeia de caracteres não funcionará, porque será dividida em todos os espaços. Quero dividir em espaços, mas preservar qualquer coisa entre parênteses e aspa

Como posso dividir isso?

questionAnswers(6)

yourAnswerToTheQuestion