奇怪的返回JavaScript正则expression式无标志'g'

代码= DAK~ 800 SUB~10/21/2015 CAK~10/21/2015

我只想得到800

当我使用这个正则expression式:

code_fix = match(/([0-9]){3}/g)返回= [ '800', '201', '201' ]

但是当我尝试使用没有标志g的正则expression式为什么是我的结果看起来像:

 [ '800', '0', index: 21, input: 'DAK~ 800 SUB~10/21/2015 CAK~10/21/2015' ] 

你需要一个字边界。 尝试这个:

 /\b([0-9]){3}\b/g 

有关字边界的更多信息,请参阅此参考 。

如果使用([0-9]){3} ,它也是两个匹配的, 800是全部匹配的, 0([0-9])组匹配,它匹配800中的最后一个0