JS 正規表現 オブジェクト
1. RegExp オブジェクト
JavaScriptにおいて、RegExpは事前定義されたプロパティとメソッドを持つ正規表現オブジェクト(Object)です。
2. test() メソッドの使用
test() メソッドは、RegExp オブジェクトのメソッドです。
文字列(String)の中に指定したパターンがあるかどうかを検索し、その結果に応じて true または false を返します。
以下の例では、文字列の中に文字「e」が含まれているかを検索します。
2.1 使用例
const pattern = /e/;
// 文字列の中に "e" が存在するかチェック
pattern.test("人生で最高のものは無料だ! (The best things in life are free!)");文字列の中に「e」が含まれているため、上記のコードの出力は以下のようになります:true
正規表現をあらかじめ変数に格納しておく必要はありません。上記の2行は、次のように1行に短縮して記述することも可能です:
/e/.test("人生で最高のものは無料だ! (The best things in life are free!)");3. exec() メソッドの使用
exec() メソッドも、RegExp オブジェクトのメソッドです。
文字列の中から指定したパターンを検索し、見つかったテキストをオブジェクトとして返します。
一致する箇所が見つからない場合は、空の(null)オブジェクトを返します。
以下の例では、文字列の中から文字「e」を検索します。
3.1 使用例
// パターンに一致した情報をオブジェクト形式で取得
/e/.exec("人生で最高のものは無料だ! (The best things in life are free!)");4. RegExp.escape() メソッド
RegExp.escape() メソッドは、正規表現の構文に使用される特殊文字をエスケープ(Escaped)した文字列を返します。
これにより、+, *, ?, ^, $, (, ), [, ], {, }, |, \ といった文字を、正規表現の一部としてではなく、リテラル(文字通り)として扱うことが可能になります。
4.1 使用例
文字列 "[*]" に一致する正規表現を作成する例:
// 正規表現として使用するためにテキストをエスケープする
const safe = RegExp.escape("[*]");
// エスケープされた文字列を使って新しい正規表現をビルドする
const regex = new RegExp(safe);
// 置換対象のテキスト
const oldText = "[*] は Web スクールです。";
// 置換を実行
const newText = oldText.replace(regex, "Volardev");5. ブラウザのサポート状況
RegExp.escape() は ECMAScript 2025 の新機能です。
JavaScript 2025 は、2025年5月以降、すべてのモダンブラウザでフルサポートされています。
| Chrome 136 | Edge 136 | Firefox 129 | Safari 18.2 | Opera 120 |
|---|---|---|---|---|
| 2025年4月 | 2025年4月 | 2024年8月 | 2024年12月 | 2025年5月 |