Javascript - делить на пробелы, если не в скобках

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

"What a [nice sunny] day"

После деления это должно выглядеть так:

[What, a, [nice sunny], day]

Я пытался найти решение самостоятельно, но, боюсь, я недостаточно знаком с RegExp в javascript.

 David Thomas06 мая 2012 г., 13:26
Оставьте сообщение в формате @GGG, чтобы уведомить его о наличии комментария, и оставьте сообщение с просьбой опубликовать свой комментарий в качестве ответа.
 undefined06 мая 2012 г., 13:17
Спасибо всем за быстрый ответ! Все они работали очень хорошо, но версия GGG сделала именно то, что я хотел. Как мне принять это как правильный ответ?
 Dagg Nabbit06 мая 2012 г., 12:53
"What a [nice sunny] day".match(/\[[^\]]*\]|[\S]+/g)
 Rob W06 мая 2012 г., 12:53
"What a [nice sunny] day".match(/(^|\s)(\[[^\]]+\]|\S+)/g).
 Nadh06 мая 2012 г., 12:56
Заимствование у @GGG,var yourstring = yourstring.match(/(\[[^\]]*\]|[\S]+)/ig).join(', ');

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

Решение Вопроса

"What a [nice sunny] day".match(/(^|\s)(\[[^\]]+\]|\S+)/g)
// Outputs: ["What"," a"," [nice sunny]"," day"]

В комментариях стало очевидно, что пробелы должны быть удалены:

"What a [nice sunny] day".match(/\[[^\]]+\]|\S+/g)
// Outputs: ["What","a","[nice sunny]","day"]

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