1
filter -n ""function(file) { return file.owner == "john"; }""

应解析为以下数组:

[ 'filter',
  '-n',
  'function(file) { return file.owner == "john"; }' ]
4

1 回答 1

1

我不完全确定你想如何处理双引号。您是否还希望能够处理每端只有一个双引号的字符串,或者引号总是加倍?

var string = 'filter -n ""function(file) { return file.owner == "john"; }""';
var regex  = /([^"\s]+)|""(.*?)""/g;
var match;
var result = [];

while (match = regex.exec(string)) {
    result.push(match[1] || match[2]);
}

alert(result);

结果:

filter,-n,function(file) { return file.owner == "john"; }
于 2010-09-25T22:10:53.653 回答