MUTools

テキスト

正規表現テスター

正規表現テスターツールは、パターンと対象テキストを入力するだけで、マッチした箇所のハイライト・キャプチャグループの中身・置換プレビュー・正規表現の構文説明をリアルタイムに確認できるツールです。Web 開発でのバリデーション設計、ログからの ID 抽出、文章の一括置換、学習中の構文確認など、「とりあえず動かして確かめたい」場面で使えます。

g
フラグ
正規表現プリセット
対象テキスト
パターンと対象テキストを入力すると、マッチ結果がここに表示されます。
正規表現の構文説明

パターンを入力すると、構文ごとの説明がここに表示されます。

現在のパターン・フラグ・対象テキスト・置換テンプレートを URL に保存し、リンクで共有できます。

入力したパターン・テキストはすべてブラウザ内で処理され、サーバーには送信されません。

正規表現テスターツールとは?

正規表現テスターツールは、パターンと対象テキストを入力するだけで、マッチした箇所のハイライト・キャプチャグループの中身・置換プレビュー・正規表現の構文説明をリアルタイムに確認できるツールです。Web 開発でのバリデーション設計、ログからの ID 抽出、文章の一括置換、学習中の構文確認など、「とりあえず動かして確かめたい」場面で使えます。

g / i / m / s / u / y のフラグはトグルで切り替えでき、入力したパターンが不正なときは即座にエラーメッセージで原因を表示します。マッチ件数・キャプチャ数・実行時間(ミリ秒)も一緒に表示されるので、複雑なパターンの挙動やパフォーマンスの目安を確認するのにも便利です。

メールアドレス・URL・電話番号(日本)・郵便番号・IPv4・日付・HTML タグ・16 進カラーコードといったよく使うパターンはプリセットから 1 クリックで挿入できます。置換テンプレートでは $& で全体一致、$1 $2 で 1・2 番目のキャプチャ、$<name> で名前付きキャプチャを参照でき、結果は「マッチ結果」「置換結果」のタブで切り替えて確認できます。「共有 URL をコピー」でパターン・フラグ・対象テキスト・置換テンプレートを丸ごと URL に保存し、チームメンバーに共有することも可能です。

すべての処理はお使いのブラウザの中で完結します。入力したパターンや対象テキストがサーバーに送信されることはないため、社外秘のログや個人情報を含む文章を試しに当ててみる用途にも安心して利用できます。ブラウザだけで完結します。

使い方

  1. 「パターン」欄に正規表現を入力します。プリセットメニューからメールアドレスや URL などをワンクリックで挿入することもできます。
  2. 右側のフラグ(g / i / m / s / u / y)をトグルし、全件マッチや大文字小文字無視などの挙動を切り替えます。
  3. 「対象テキスト」欄にマッチさせたい文章を貼り付けます。サンプルを入れるボタンですぐに動作確認できます。
  4. 下の結果欄でマッチした箇所がハイライトされ、件数・キャプチャグループ・実行時間が表示されます。
  5. 「置換結果」タブに切り替え、「置換テンプレート」欄に置換後の文字列($1 や $& などの参照も使えます)を入力すると、置換プレビューが表示されます。
  6. 右上の「正規表現の構文説明」で、入力したパターンを構成要素ごとに分解した日本語の説明が確認できます。
  7. 「共有 URL をコピー」を押すと、今のパターン・フラグ・対象テキスト・置換テンプレートが URL に埋め込まれ、リンク 1 つで他の人にも同じ画面を再現できます。

利用シーン

  • アプリのフォームで使う入力バリデーションの正規表現を、想定する文字列でひととおり試したい Web エンジニア。
  • サーバーログやアクセスログから ID・パス・ステータスコードを抽出するパターンを書きたい運用担当者。
  • 原稿や CSV データの一括置換を行う前に、置換後の見た目を安全に確認したいライター・編集者。
  • PR レビューや勉強会で、メンバーに正規表現のサンプルとテストケースを共有 URL で配りたい開発リーダー。
  • 学習中の正規表現の挙動を 1 行ずつ試しながら、構文ごとの意味も日本語で確かめたい初学者。

注意点

  • 本ツールはブラウザの JavaScript 標準の正規表現(ECMAScript の RegExp)に準拠しており、PCRE や Oniguruma 固有の構文(\K、可変長の後読みなど)には対応していません。
  • g フラグが OFF のときは、マッチも置換も最初の 1 件だけが対象になります。全件を扱いたい場合は g フラグを ON にしてください。
  • u フラグを ON にすると、サロゲートペアや Unicode プロパティ(\p{...})が利用できる一方、文字クラス内でのエスケープ要件が厳しくなります。挙動が変わったら u フラグの ON/OFF も確認してください。
  • 対象テキストが 50 万文字を超える場合、応答が極端に遅くなることを避けるため計測前に打ち切ります。マッチ件数も最大 10,000 件で打ち切られます。
  • 「共有 URL をコピー」では対象テキストもクエリ文字列として URL に含まれるため、共有先で本文が見えても問題ないか確認のうえご利用ください。本文が長い場合は URL から自動的に除外され、その旨が画面に表示されます。
  • 構文説明は主要な構文(文字クラス・量指定子・グループ・選択・文字集合)に対応しています。先読み・後読みや Unicode プロパティなどは「未対応の構文」として原文のまま表示されます。

よくある質問

入力したパターンやテキストはサーバーに送信されますか?
送信されません。パターンのコンパイル・マッチ・置換・構文説明・実行時間の計測まで、すべてお使いのブラウザの中で完結します。社外秘のログや個人情報を含む文章を試しに当てても外部に出ることはありません。
PCRE モードはありますか?
本ツールはブラウザの JavaScript 標準の正規表現エンジンのみに対応しています。PCRE 固有の構文(\K、可変長の後読み、再帰参照など)は使えません。Web アプリのフロントエンドやバリデーションを設計する用途であれば、本ツールで確認した結果がそのまま実環境の挙動と一致します。
g フラグを付けていないのに、なぜ 1 件しかマッチ・置換されないのですか?
JavaScript の正規表現では、g フラグが OFF のとき最初の 1 件だけが対象になります。全件をマッチ・置換したい場合はフラグ欄の「g」を ON にしてください。マッチタブ・置換タブそれぞれで g フラグ OFF 時にはヒントが表示されます。
共有 URL を開いた人にも、同じパターンと結果が再現されますか?
再現されます。リンクには現在のパターン・フラグ・対象テキスト・置換テンプレートがクエリ文字列として埋め込まれているため、リンクを開いた人のブラウザ上で同じマッチ結果と置換結果が即座に表示されます。ただし対象テキストが長い場合は URL から自動的に除外されます。
実行時間(ミリ秒)の数値が毎回少しずつ違うのはなぜですか?
ブラウザの内部最適化(JIT のウォームアップ)、他のタブ・タスクとの CPU 共有、計測精度の制約などが影響するためです。1 回ごとの数値そのものよりも、パターンを修正した前後で大きく増減しないかどうかという比較の指標としてご利用ください。