私はこのコードを持っています:
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,}同じ*です。