mongodb 正则表达式查找两个单词之间正好有 n 个或更少的单词

mongodb regex to find two words with exactly n or less words between them

我需要正则表达式方面的帮助,以便我可以按以下方式查询 mongodb 以获得以下结果

  1. 甲乙乙
  2. 甲×乙
  3. A​​ B

简而言之,我想要一个正则表达式,它可以找到两个单词之间恰好有 n 个单词或更少的单词。

给你:

/Start( \w+){0,n} end/

例子

/Start( \w+){0,1} end/

匹配

Start word word word end // NO MATCH
Start word word end      // NO MATCH
Start word end           // MATCH
Start end                // MATCH

编辑

你应该使用

/^Start( \w+){0,n} end$/

这更好地利用了 mongodb 的 indexes 进行查询,而且 non-indexed 字段的速度也更快。