私は現在使用しています:var keywords = new RegExp(req.params.keywords, 'i');
キャッチは、もしreq.params.keywords == '.*'
、これが何にでもマッチするということです.*
。\.\*\
渡されたすべての単一文字を でエスケープするよりもエレガントな解決策はあり\
ますか?
私は現在使用しています:var keywords = new RegExp(req.params.keywords, 'i');
キャッチは、もしreq.params.keywords == '.*'
、これが何にでもマッチするということです.*
。\.\*\
渡されたすべての単一文字を でエスケープするよりもエレガントな解決策はあり\
ますか?
文字列に含まれる正規表現を使用する代わりに、文字どおりに一致させたい場合は、正規表現を使用しないでください。stringindexOf()
関数を使用して、文字列が別の文字列に含まれているかどうかを確認します。
大文字と小文字を区別しない一致では、各文字列をたとえば小文字に変換してから一致させます。
var searchForString = req.params.keywords.toLowerCase();
var searchInString = xxx.toLowerCase();
if (searchInString.indexOf(searchForString) >= 0) {
... then it matches ...
}