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

时间:2018-01-19 10:11:25

标签: javascript jquery html regex hashtag

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

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

根据regex101.com,由于+在那里它应该匹配所有出现

  

“+”量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈

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

发生了什么事?

感谢您的关注。

2 个答案:

答案 0 :(得分:2)

在末尾添加g(全局)标志以进行多次匹配。

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

答案 1 :(得分:1)

^此符号定义字符串的开头。这就是它只与第一个字符串匹配的原因。

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