正規表現エスケープ|RegExp.escape互換・一致テスト

文字列を正規表現でそのまま検索できる形へ変換。RegExp.escape互換と従来形式、パターン・JavaScriptリテラル・new RegExpコード、完全一致と動作テストに対応します。

0文字
エスケープ方式
出力形式

空文字に一致するパターンです。

一致テスト

変換したパターンが、確認用テキスト内の入力文字列だけに一致するか試せます。

確認用テキストを入力すると一致件数を表示します。

方式の違い:RegExp.escape()互換では先頭英数字や空白、ハイフンなども16進エスケープになるため、結果が長く見えます。これは前後の正規表現構文と結合したときの誤解釈を防ぐ仕様です。入力が正規表現として意図された構文の場合は、このツールでエスケープしないでください。

このツールの使い方・詳細

🛠 使い方

そのまま検索したい文字列を入力します。標準互換またはメタ文字のみを選び、パターン・正規表現リテラル・JavaScriptコードとしてコピーできます。確認用テキストで一致件数も試せます。

💡 活用シーン・ユースケース

  • URLやファイル名を正規表現の特殊記号として扱わず検索する
  • ユーザー入力を動的なRegExpへ安全に埋め込む
  • RegExp.escape互換結果と従来のメタ文字置換を比較する

RegExp.escape互換の正規表現エスケープ

URL、ファイル名、検索語などを正規表現の構文ではなく、そのままの文字列として検索できるパターンへ変換します。ECMAScript標準のRegExp.escape()と同じ規則を使う標準互換方式と、メタ文字だけを処理する従来方式を比較できます。

RegExp.escapeと単純な置換の違い

入力標準互換の例理由
foo.bar\x66oo\.bar先頭文字とドットを安全にエスケープ
foo-bar\x66oo\x2dbarUnicodeモードで不正になり得る\-を避ける
半角空白\x20空白を明示的な文字コードで表現

標準方式は、出力を後方参照や文字エスケープの直後へ埋め込む場合も、先頭文字が前の構文の一部として解釈されないよう設計されています。

変換規則はECMAScript言語仕様のRegExp.escapeに基づいています。利用環境ごとの対応状況はMDNのRegExp.escapeリファレンスで確認できます。

パターン・リテラル・new RegExpの使い分け

  • パターン:APIや別言語へ貼る場合、またはRegExp()へ値として渡す場合に使います。
  • 正規表現リテラル:JavaScriptソースへ/.../uとして直接書く場合に使います。
  • JavaScriptコード:文字列リテラルのバックスラッシュまで処理したnew RegExp()をそのままコピーできます。

「完全一致」と「含む検索」の違い

通常は長い文章の一部に入力文字列があれば一致します。「入力全体だけに一致」を有効にすると、先頭と末尾へアンカーを付け、確認用テキスト全体が入力文字列と同じ場合だけ一致します。大文字・小文字を無視する場合はiフラグを加えます。

入力内容は送信・保存されますか?

変換と一致テストはページ内のJavaScriptだけで実行します。入力文字列、確認用テキスト、変換結果を当サイトのサーバーへ送信・保存しません。