我正在尝试从@提取以string开头的单词

我使用regex创建了一个简单的word boundary。但是,当我尝试找到以@字符开头的匹配词时,并没有找到匹配项。我试图用\转义字符,但没有使用它。有人请帮我

const str='@alice wants to meet @bob'
console.log(str.match(/(\b@\S+\b)/ig))


上面的代码返回null

最佳答案

听起来您想确保@和前一个字符之间的位置不是单词边界(因为一个单词边界将表明前一个字符是单词字符)-可以与\B匹配,哪个地方都匹配\b不匹配:



const str='@alice wants to meet @bob foo@bar'
console.log(str.match(/\B@\S+\b/ig))

10-08 06:22
查看更多