我有这个密码:
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(',')
,但也与空白删除。
我是否在 regexp 中出错了,还是误解了 String.prototype.match
?