正则表达式:只要在另一个特定字符串之前发现特定字符串

时间:2013-10-03 23:57:18

标签: javascript regex

是的,另一个正则表达式(javascript实现)问题......

我无法弄清楚如何找到字符串'cat',只要它出现在'dog'之前的任何地方。

所以对于下面的句子......

cat categorically hates the dog, im going to mention cat again. 

将找到第一次和第二次出现,而不是最后一次出现。

2 个答案:

答案 0 :(得分:3)

您需要使用前瞻:

/cat(?=.*dog)/

考虑到其间可能存在其他字符,其中任何“猫”都会跟随“狗”。

答案 1 :(得分:0)

您的问题是:

  

只要它发生,我无法弄清楚如何找到'cat'这个词   任何地方 领先于'狗'

这个的正则表达式是:

cat(?!.*dog)

这使用否定查找来查找未跟随狗的猫。