JavaScript-使用正则表达式匹配非ascii符号

JavaScript-使用正则表达式匹配非ascii符号,javascript,regex,utf,non-ascii-characters,Javascript,Regex,Utf,Non Ascii Characters,我想匹配评论中提到的所有用户。例如: var comment='@Agneš,@Petar,请看一下这个'; var-sinetedUsers=comment.match(/@\w+/g); console.log(提及用户)字符不是单词字符,而“w”代表单词字符。在regex中实现对unicode的ES6支持之前,您可以通过以下方式解决此问题: /@[^\s,]+/g 你只需要列出用户名中不能包含的内容。明年, /@\w+/gu 一种确保你没有得到一半电子邮件附件的方法,以及其他情况下,

我想匹配评论中提到的所有用户。例如:

var comment='@Agneš,@Petar,请看一下这个';
var-sinetedUsers=comment.match(/@\w+/g);

console.log(提及用户)
字符不是单词字符,而“w”代表单词字符。

在regex中实现对unicode的ES6支持之前,您可以通过以下方式解决此问题:

/@[^\s,]+/g
你只需要列出用户名中不能包含的内容。明年,

/@\w+/gu

一种确保你没有得到一半电子邮件附件的方法,以及其他情况下,@在单词的中间将是<代码>匹配([^ ^,@ ] @ [^,s,@ ] +((=[\s,] $)/g)< /代码>,然后<代码>过滤器< /代码>它们是否以“@”开头的结果。.

确保特殊字符在注释字段中键入时已转换为常规字符,这样您就不会遇到此问题。“特殊字符”?你生活在哪个世界?它们是完全正常的Unicode字母。这是一个JavaScript问题(时间稍长)。特殊字符,如非
a-z
的任何字符。只需在注释字段中转换名称,就像您现在所在的站点那样,这是迄今为止最简单的方法。您需要使用
XRegExp
库。您必须确保JS源文件具有Unicode(UTF-8)字符集。否则您的Regexp将无法在PHP中正常工作,Python
š
只是普通的utf字母。真不敢相信JS仍然没有完全的utf支持。尽管它还远远不够完美。将匹配部分电子邮件地址,并且没有lookback(JavaScript也不支持),我们对此无能为力。