为什么/(red | green)/ g.exec('red,green,red,green')返回["red","red"]?

joh*_*mer 1 javascript regex

在我输入的javascript控制台中 /(red|green)/g.exec('red, green, red, green')

它返回了一个包含两个结果的数组: ["red", "red"]

它不应该返回一个包含4个结果的数组吗?如: ["red", "green", "red", "green"]

Dan*_* D. 5

正如评论所述,您希望字符串方法匹配:

> 'red, green, red, green'.match(/(red|green)/g)
["red", "green", "red", "green"]
Run Code Online (Sandbox Code Playgroud)

  • 问题是`为什么/(red | green)/ g.exec('red,green,red,green')返回["red","red"]? (2认同)