一个词后面没有一系列包括其本身在内的其他词

时间:2011-09-20 02:58:08

标签: javascript regex

说你有

catdogbird

我想知道狗什么时候出现,而不是狗,狗,或者什么也没有。

我尝试使用否定前瞻

dog(?!bird|dog)

catlizard    no match OK
catdogbird   no match OK
catdoglizard match OK
catdog       match OOPS
catdogdog    match OOPS

我不希望这最后两场比赛,即狗没有跟随任何东西或狗跟着自己。

2 个答案:

答案 0 :(得分:0)

$匹配正则表达式中字符串的结尾:

dog(?!bird|dog|$)

将修复上述错误(第二个错误是因为第二个“dog”后跟字符串的结尾匹配)。

答案 1 :(得分:0)

要求它匹配'dog'后的内容:

/dog(?!bird|dog).+$/