正则表达式只匹配第一次出现

Regex expression only matching the first occurrance

我正在尝试使用此 RegEx 表达式匹配字符串上的所有@mentions 和#hashtags:

(^|\s)([#@][a-z\d-]+)

根据 regex101.com,因为 + 在那里它应该匹配所有出现的事件

"+" Quantifier — Matches between one and unlimited times, as many times as possible, giving back as needed

但是当我 运行 它通过一个多次出现的字符串时,它只匹配第一个。

怎么回事?

感谢您的关注。

在多个匹配项的末尾添加 g(全局)标志。

/(^|\s)([#@][a-z\d-]+)/g

^ 这个符号定义字符串的开头。这就是为什么它只匹配第一个字符串。

使用 /[@#]\w+/ 正则表达式。