gpt4 book ai didi

Javascript 正则表达式 : find a word NOT followed by space character

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:52:02 27 4
gpt4 key购买 nike

我需要 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com