我做错了什么,或者它是谷歌Chromes的错?
使用非捕捉和捕捉组的效果与没有它们的效果相同。谷歌浏览器扩展正常化正则表达式全球标志
RegExr显示第一个预期结果。 http://regexr.com?30mjo
var text = 'startdate: 123456, enddate: 789012';
var unix = text.match(/(?:start|end)date: (\d+)/g);
console.log(unix);
实际结果
["startdate: 123456", "enddate: 789012"]
预期结果
["123456", "789012"] or
["startdate: 123456", "123456", "enddate: 789012", "789012"]
这似乎是'g'标志使它行动怪异。没有它,第一个结果返回罚款。我会调查更多。 – david 2012-04-18 22:10:21
可能在'(\ d +)'之后在使用'g'时添加逗号?比如'...(\ d +),/ g);'?虽然真的不应该有所作为...... – Kasapo 2012-04-18 22:19:28