regex表达式,用于在MongoDB中查找多个字符替换匹配项

时间:2014-03-11 14:39:53

标签: javascript regex mongodb

这超出了我的正则表达式体验,请帮忙。 -

我有点环顾四周,但找不到这样的例子。

我尝试通过JS匹配mongoDB中用户的小写名称,其中i,l和1之间可以互换任意数量的字符(eye,ell和one) 也在0和o之间(零和ohh)

示例:chris chr1s chrls将匹配

另外:joomla j00mla j0omla jo0mla将匹配。

和jimbo j1mb0 jlmbo jimb0将匹配等等

var name_lower = "jlmb0";

user_collection.findOne({name_lower : /?some regex?/name_lower}, function(err, doc) {
    if(err) throw err;
    if(doc) {
            // a match
            }
    }
});

编辑: 假设lower_name已被解析为最小3个字符,最多20个字符,[a-zA-Z0-9],并且降低以防万一, 假设它是一个输入变量,所以我不知道用户名是什么。 我认为出于性能的考虑,假设只有1或2次出现的集[o,0]和[i,l]

假设我不知道在name_lower中输入了什么,是否会使mongoDB中的正则表达式无法实现?或许可以更容易地创建一组12个左右的可能名称并单独搜索它们,即编写一个检查两个集合并提供其他name_lower可能性的函数?

0 个答案:

没有答案