1

我试图制作一个正则表达式来查找某个单词后跟“not”,例如“does not”、“are not”等。到目前为止,我的正则表达式是:http ://rubular.com/r/ 5bPRtuz9lA

/\b(are|can|could|did|does|do|had||has|should|have|is|were|might|must|will|would)+\snot/i

问题是“不”匹配这不是我想要的。如果它前面有一个指定的单词,我只希望它匹配。我在这里做错了什么?

4

1 回答 1

3

你这里有一个额外的管道:(had||has应该是had|has)。

这就像说"had" or "" or "has"。因此,一个空字符串后跟一个空格,后跟“not”将匹配您的正则表达式。

顺便说一句,您可能不希望+在单词列表的末尾出现。这使它成为一个或多个,因此您的正则表达式将匹配“canwoulddoes not”。只需删除+即可解决此问题。

于 2012-05-07T03:11:12.037 回答