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

0

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

"What a [nice sunny] day"

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

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

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

"What a [nice sunny] day".match(/(^|\s)(\[[^\]]+\]|\S+)/g). Rob W
Заимствование у @GGG,var yourstring = yourstring.match(/(\[[^\]]*\]|[\S]+)/ig).join(', '); Nadh
Оставьте сообщение в формате @GGG, чтобы уведомить его о наличии комментария, и оставьте сообщение с просьбой опубликовать свой комментарий в качестве ответа. David Thomas
Спасибо всем за быстрый ответ! Все они работали очень хорошо, но версия GGG сделала именно то, что я хотел. Как мне принять это как правильный ответ? undefined
"What a [nice sunny] day".match(/\[[^\]]*\]|[\S]+/g) Dagg Nabbit

Ваш Ответ

1   ответ
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"]

Похожие вопросы