私はこのコードを持っています:
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ますか、それとも誤解しますか?
{0,}同じ*です。