我将正则表达式与MongoDB查询一起使用进行搜索。我想用缩写来匹配文本
例如,集合类似于
{title: "Do Androids Dream of Electric Sheeps}
,
我的搜索文字可能是DADES
。
当前查询是
db.collection.find({title: {$regex: "android", $options: "i"}})
我要匹配DADES
的以上条目。
注意:国家/地区名称只是一个示例,文本将是动态的。
答案 0 :(得分:1)
根据OP给出的其他接受标准进行编辑;
尝试以下正则表达式;
^([USA]\w+\s*)+(?!of)$
这将与以下示例匹配;
United States of America
United States America
这将忽略以下内容;
United Kingdom
您可以通过在words
中添加其他(?!of|and|or)
来忽略它们。在此示例中,我忽略了这些单词;
of
and
or
答案 1 :(得分:0)
基于@pacholik的评论,
db.collection.find({title: {$regex: "U.*S.*.A.*", $options: "i"}})
给我最好的结果。我将基于搜索文本构建正则表达式。
谢谢!