作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要 javascript 正则表达式来匹配后面没有空格字符且前面有 @ 的单词,如下所示:
@bug - 找到“@bug”,因为后面没有空格
@bug 和我 - 什么也没找到,因为“@bug”后面有空格
@bug 和@another - 只找到“@another”
@bug 和@another 等等 - 什么都找不到,因为这两个词后面都有空格。
帮助?添加:字符串是从中获取的,FF 将它自己的标签放在它的末尾。虽然我基本上只需要最后一个以@开头的词,$(end-of-string)不能用。
最佳答案
试试 re =/@\w+\b(?!)/
。这会查找一个词(确保它捕获整个词)并使用否定前瞻来确保该词后没有空格。
使用上面的设置:
var re = /@\w+\b(?! )/, // etc etc
for ( var i=0; i<cases.length; i++ ) {
print( re2.exec(cases[i]) )
}
//prints
@bug
null
@another
null
如果您的单词以下划线结尾并且您希望标点符号成为单词的一部分,那么这将不起作用的唯一方法是:例如,'@bug and @another_ blahblah' 将选择 @another,因为 @another
后面没有空格。这似乎不太可能,但如果你也想处理这种情况,你可以使用 /@\w+\b(?![\w ]/
,这将返回 null
用于@bug 和@another_
,@bug_
用于@another 和@bug_
。
关于Javascript 正则表达式 : find a word NOT followed by space character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584981/
我是一名优秀的程序员,十分优秀!