为什么这个正则表达式无论我针对什么执行它都只匹配一次?

Why is this regex matching only once no matter what I execute it against?

我有这个正则表达式:

/foo|bar\/baz/

出于某种原因,它只匹配包含多次出现的 foobar/baz 一次的字符串(例如 foo the bar/baz)。为什么?

它只匹配所有内容一次,因为您没有启用全局搜索 - 该功能可防止正则表达式引擎在第一次匹配时返回。您可以使用 g 标志启用它,如下所示:

/foo|bar\/baz/g

上面的正则表达式将匹配 foo the bar/baz 两次,正如人们首先期望的那样。