正则表达式单词,用于匹配包含以“ing”结尾的单词的文本,但排除单词“anything”、“something”、“nothing”

Jua*_*dez 6 javascript regex mongodb regex-lookarounds

我正在编写一个应用程序来练习英语,我需要一个 javascript 正则表达式来查找 mongoDb 集合中的所有文档,其中“answer”属性包含以ing结尾的单词,并从匹配中排除一些单词,例如 everything、something ,任何事,什么都没有。

我现在有以下查询:

{ '$or': [ { answer: /ing/i } ],
I20190303-13:26:00.915(-4)?   answer: /^(?!.*(\bsomething\b|\banything\b|\beverything\b|\bthing\b|\bnothing\b))/gi }
Run Code Online (Sandbox Code Playgroud)

不幸的是,我当前的查询不包括诸如“我什么也没做”之类的字符串。因为文中什么都没有。但我希望这样的文本能够匹配,因为“做”是存在的。

我想从数据库中获取答案包含一个或多个动名词的所有问题,不幸的是有些以ing结尾的单词不是动名词。

Noe*_*oel 1

负向回顾应该有效。

db.collection.find({
  "key": {
    $regex: "(?<!noth|anyth)ing",  //match ing, but not if it is part of nothing, anything
    $options: "i"
  }
})
Run Code Online (Sandbox Code Playgroud)

演示