我想在评论中匹配所有提及的用户。例如:
var comment = '@Agneš, @Petar, please take a look at this';
var mentionedUsers = comment.match(/@\w+/g);
console.log(mentionedUsers)

我期待["@Agneš", "@Petar"]
,但获得["@Agne", "@Petar"]
。如您所见,š
符号不匹配。
如何匹配所有字母符号包括非ascii?
答案 0 :(得分:4)
在实施ES6对正则表达式中unicode的支持之前,您可以通过以下方式解决这个问题:
/@[^\s,]+/g
您只需在用户名中列出无法的内容。明年,
/@\w+/gu
确保您不会获得一半电子邮件地址的方法以及@在一个单词中间的其他情况将是match(/[^\s,@]*@[^\s,@]+(?=[\s,]|$)/g)
然后filter
结果他们是否以" @"。
答案 1 :(得分:-1)
š不是单词字符,“w”代表单词字符。