我的输入字符串看起来像这样
inspect [foo - bar] with [errors - 15]
create [doodle]
force delete [quux]
也就是说,在方括号内包含信息的行。
我想要的是一次取其中一条线并得到一个像
["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));
有没有一种简单的方法可以将所有内容都放在一个数组中?也许我以完全错误的方式攻击这个。