【问题标题】:Escape forward slash转义正斜杠
【发布时间】:2017-03-08 19:43:07
【问题描述】:

我正在使用此代码进行不区分大小写的搜索:

Effect.find({name: new RegExp('^'+name+'$', "i")}).lean().exec(function(err, effect){
    if(err) return callback(err, null);
    callback(null, effect);
});

乍一看,它看起来工作正常。

问题:

我有一个名为test A/c的效果。

当我在数据库中搜索不区分大小写的完全匹配时,我得到了奇怪的结果:

案例:1 当我搜索 test A/ 时,我找到了一个匹配项。

案例:2 同样对于test A/c,我找到了匹配项。

这不适用于第一种情况。我知道这是我的正则表达式的问题。但我对正则表达式相当陌生。

【问题讨论】:

    标签: regex node.js mongodb mongoose


    【解决方案1】:

    终于发现了错误。 new RegExp() 函数不需要转义 backslash。我的错误是,我是从 url 发送这个值,因此它在斜线之后被算作新参数。

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多