我正在尝试从@
提取以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))