Разбить строку в массив JS

Есть строка:

const str = 'test1 test2="option1 option2" blabla="option1"'

Подскажите пожалуйста, как можно разбить строку, что бы в итоге получился массив

const arr = ['test1', 'test2="option1 option2"', 'blabla="option1"']


Ответы (1 шт):

Автор решения: Grundy

Можно воспользоваться регулярным выражением, /[^\s"']+("([^"]*)"|'([^']*)')?/

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

const str = 'test1 test2="option1 option2" blabla="option1"'

const result = 'test1 test2="option1 option2" blabla="option1"'.match(/[^\s"']+("([^"]*)"|'([^']*)')?/g);

console.log(result);

на основе ответа @Jan Goyvaerts

→ Ссылка