これらのような入力文字列があります
inspect [foo - bar] with [errors - 15]
create [doodle]
force delete [quux]
つまり、角括弧内に情報を含む行です。
私が欲しいのは、一度にこれらの行の1つを取り、次のような配列を取得することです
["inspect", "[foo - bar], "with", "[errors - 15]"]
正規表現を使用すると、括弧で囲まれた式と括弧で囲まれた式の間の部分を別々に収集するのは簡単です。
var src = "inspect [foo - bar] with [errors - 15]"
var regexBracketed = /\[[a-zA-Z0-9_\- ]+\]/g;
// this returns an array of the bracketed expressions
console.log(src.match(regexBracketed));
// and this returns an array of the parts between the expressions
console.log(src.split(regexBracketed));
1 つの配列だけですべてを取得する簡単な方法はありますか? たぶん、私はこれを完全に間違った方法で攻撃しています。