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

标签 javascript regex

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

它返回一个包含两个结果的数组: [“红色”,“红色”]

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

最佳答案

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

> 'red, green, red, green'.match(/(red|green)/g)
["red", "green", "red", "green"]

关于javascript - 为什么/(red|green)/g.exec ('red, green, red, green' ) 返回 ["red", "red"]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31139844/

相关文章:

regex - Sublime Regex 将下划线后的字符转换为大写,然后删除下划线

javascript - 根据 100 max 计算数组

javascript - Chart.js:为数据集设置不同的选项

javascript - 使用 jQuery 获取跨度起点的偏移量

javascript - 仅使用 Javascript 正则表达式匹配模式的最后一个实例

javascript - 正则表达式仅匹配来自任何电子邮件地址的最终域名

javascript - Angular 形 Material 底板单击时无法关闭

javascript - React - 表单提交后清除电子邮件输入字段

regex - Netbeans - 复制突出显示的正则表达式搜索结果

regex - 什么是验证字符串只有字母数字和连字符的惯用 clojure?