2017-03-08 111 views
0

我使用這個代碼不區分大小寫的搜索:逃生斜線

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

在它看起來像它工作正常第一次看。

問題:

我有一個名爲test A/c的效果。

當我搜索數據庫中的確切區分大小寫的比賽,我得到wiered結果:

案例:1當我搜索test A/,我得找到匹配。

案例:2也爲test A/c,我得到一個匹配找到。

哪一個不適合第一種情況。我知道這是我的正則表達式的問題。但我對Regex來說還是比較新的。

回答

-1

終於找到了錯誤。 new RegExp()功能不需要轉義backslash。我的錯誤是,我從url發送了這個值,因此在斜線之後它被作爲新參數計數。