【JavaScript ECMAScript】RegExp::RegExp.escape静的メソッドの使い方
RegExp.escape()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
RegExp.escape()メソッドは、指定された文字列内の正規表現特殊文字をエスケープするメソッドです。JavaScriptの正規表現では、ピリオド(.)やアスタリスク(*)、括弧(())など、パターンマッチングにおいて特別な意味を持つ文字が存在します。これらの特殊文字を正規表現パターン内で文字通りに検索したい場合、そのまま記述すると特殊な意味で解釈され、予期せぬ動作につながることがあります。
このメソッドは、引数として渡された文字列に含まれる正規表現の特殊文字に対し、その直前にバックスラッシュ(\)を追加することで、それらの文字が通常の文字として扱われるように変換します。例えば、入力文字列が「file.txt」である場合、RegExp.escape()はこれを「file.txt」と変換し、これにより正規表現パターンの中で「.」が任意の一文字ではなく、文字通りのピリオドとして正確にマッチするようになります。
主に、ユーザーからの入力データなど、動的に変化する文字列を正規表現パターンの一部として使用する際に活用されます。これにより、予期せぬ正規表現の動作を防ぎ、セキュリティリスクを低減し、安全で正確なパターンマッチングを実現します。このメソッドは文字列を引数に取り、エスケープ処理済みの新しい文字列を戻り値として提供します。元の文字列は一切変更されません。
公式リファレンス: RegExp.escape()
構文(syntax)
1const unescapedString = "search.string?with*special+characters"; 2const escapedString = RegExp.escape(unescapedString); 3console.log(escapedString);
引数(parameters)
str
- str: RegExp リテラルとして安全に使用したい文字列
戻り値(return)
string
正規表現リテラルや文字列内に特殊文字として解釈される可能性のある文字をエスケープした新しい文字列を返します。