我正在尝试使用此正则表达式从开头为@
的字符串中检索单词。'@yoMan is going crazy with @yoker-wiy'.match(/\b@\S+\b/g)
没用它仅适用于字母,不适用于@或#等字符
早些时候我尝试使用/@(\w+)/g
,但是它从单词-wiy
中修剪了yoker
。抱歉,使用正则表达式根本不好。
我认为这个问题有一个我找不到的重复项。谢谢您的帮助。
最佳答案
早些时候我尝试过/ @(\ w +)/ g,但它的词义是-wiy
约克
因为\ w包含alphabets ( both case ), digits and _
不包含-
,所以您只能得到utpo @yorker
只需使用split
,filter
和startsWith
let str = '@yoMan is going crazy with @yoker-wiy';
let final = str.split(/\s+/)
.filter(v => v.startsWith('@'))
console.log(final)
通过匹配,您可以使用
@[^\s]+
let str = '@yoMan is going crazy with @yoker-wiy';
let final = str.match(/@[^\s]+/g)
console.log(final)
关于javascript - 获取所有以@字符开头的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58487574/