我想要一个正则表达式来获取@something
的文本,所以我尝试了:
/@(\w+)/ig
这是@josh和@ anne = @josh @anne match
问题是,我想忽略后面有空格的那些,在上面的例子中,忽略@josh并只显示@anne,因为@anne之后没有空格和@josh。
任何想法?
答案 0 :(得分:2)
使用否定前瞻:
/@(\w+\b)(?! )/ig
单词边界使得匹配包括“整个单词”,否定前瞻禁止下一个字符为空格。
单词边界是必要的,因为没有,它会匹配@jos
内的@josh and @anne
。
要使其与任何空格字符匹配,请使用
/@(\w+\b)(?!\s)/ig
(其中\s
是'任何空格);要匹配任何非单词字符,你认为它需要这个
/@(\w+\b)(?!\w)/ig
但请记住,明确的\b
已经这样做了,所以一个简单的
/@(\w+\b)/ig
就足够了。