У меня есть этот код:
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
?