私のサイトの検索は、正規表現を使用して実装されています。
RegExp(name, 'i')
ここで、「名前」は入力ブロックの値です。問題は、ドットが任意の文字に一致し、ドットを入力すると検索で間違った結果が返されることです。この問題を除外するには、正規表現のパターンをどのように変更すればよいですか?
私のサイトの検索は、正規表現を使用して実装されています。
RegExp(name, 'i')
ここで、「名前」は入力ブロックの値です。問題は、ドットが任意の文字に一致し、ドットを入力すると検索で間違った結果が返されることです。この問題を除外するには、正規表現のパターンをどのように変更すればよいですか?
特定の正規表現を許可したくない場合は、検索/置換を実行してこれらの値をエスケープでき.
ます\.
。
特定の正規表現がリテラルとして扱われることをプロンプトで明確にする必要があります。
すべてのメタ文字をエスケープするには、正規表現エスキャッパーを作成する必要があります。
この関数は適合すると思います: ( Is there a RegExp.escape function in JavaScript? にあります)
RegExp.escape= function(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
};