Разделите предложения на ',' и удалите окружающие пробелы

У меня есть этот код:

var r = /(?:^\s*([^\s]*)\s*)(?:,\s*([^\s]*)\s*){0,}$/
var s = "   a   ,  b  , c "
var m = s.match(r)
m => ["   a   ,  b  , c ", "a", "c"]

Похоже, вся строка была сопоставлена, но куда пропало "b" ? Я бы предпочел получить:

["   a   ,  b  , c ", "a", "b", "c"]

, чтобы я мог выполнить m.shift () с результатом, подобным s.split (',') , но также с удаленными пробелами.

Я ошибаюсь в регулярном выражении или неправильно понимаю String.prototype.match ?

61
задан meandre 24 October 2011 в 09:30
поделиться