Javascript 语法分析器工作不正常

Javascript 语法分析器工作不正常,javascript,arrays,parsing,Javascript,Arrays,Parsing,如果我有 str = "[App Version]+4-[Number 1 Q1-P3]" 我想要一个如下的数组: arr[0] = App Version arr[1] = Number 1 Q1-P3 我当前的解析器: var arr =str.replace(/[+/*//[]/g,'').split("]").slice(0, -1); arr = arr.map(function(item){ return item.replace(/^-/, ''

如果我有

str = "[App Version]+4-[Number 1 Q1-P3]"
我想要一个如下的数组:

arr[0] = App Version  
arr[1] = Number 1 Q1-P3
我当前的解析器:

 var arr =str.replace(/[+/*//[]/g,'').split("]").slice(0, -1);  
    arr = arr.map(function(item){
       return item.replace(/^-/, '')
    });
结果如下:

arr[0] = App Version  
arr[1] = 4-Number 1 Q1-P3
我只需要数组中[]之间的名称。
有人能提供正则表达式或什么吗?

试试这个:

const input=“[App Version]+4-[Number 1 Q1-P3]”;
const matches=input.match(/[^\[]+(?=\])/g);

console.log(匹配项)太棒了!!谢谢。请回复