正規表現テスター:正規表現のテストとデバッグ | Morph

正規表現テスターを使えば、正規表現を書いてサンプルテキストを貼り付けるだけで、何にマッチするかをその場でハイライト表示しながら確認できます。正規表現は強力な反面、間違えやすいことで知られており、正しく仕上げる一番の近道は、作りながら実際の入力でテストすることです。Morphの正規表現テスターは、まさにそれをブラウザ上でリアルタイムに行います。

コードにパターンを埋め込んで実行し、出力を目を凝らして確認する……という手間をかける代わりに、式を少しずつ調整しながらハイライトがリアルタイムに更新される様子を見るだけで済みます。マッチが現れたり消えたりすれば、直前の変更が効いたかどうかすぐにわかります。

得られるもの

ブラウザで正規表現をテストする理由

正規表現は「書いては確かめる」の繰り返しです。少し複雑なパターンを一発で決められることはまずありません。専用のテスターがあれば、そのループはほぼゼロになります——パターンを変えれば、すぐに結果が見えます。ブラウザのタブ内で完結するので、文字クラスが思いどおりに動いているか確かめるためだけにREPLを立ち上げたり、使い捨てのスクリプトを書いたりする必要もありません。

プライバシー面でも安心です。これは思われている以上に正規表現にとって重要なポイントです。マッチさせる対象のテキストは、本番環境のログ行や顧客データ、社内のファイルパスなど、実データであることが少なくありません。Morphの正規表現テスターは完全にクライアントサイドで動作するため、そのサンプルテキストがブラウザの外に出ることはありません。アップロードは一切不要で、アカウント作成も必要ありません。

自信を持ってパターンを組み立てる

シンプルなパターンから始めて、ハイライトで各ステップを確認しながら少しずつ育てていきましょう。日付やID、ドメインなど、必要な部分を取り出すにはキャプチャグループを使い、グループの内訳で狙った箇所を正しく捉えているか確認します。大文字小文字の違いや複数行にまたがる検索にはフラグを切り替えて対応します。パターンが意図したものだけに過不足なくマッチするようになったら、コードやエディタの検索・置換、コマンドラインツールにコピーして使いましょう。

抽出した構造化データをさらに扱うにはJSONフォーマッターが相性抜群ですし、作ったパターンをドキュメント化する際にはMarkdownエディタも便利です。正規表現テスターは、本番に送り出す前に式を仕上げておく場所です。

使い方

  1. 正規表現テスターを開く — 正規表現テスターのページにアクセスします。パターン入力欄とサンプルテキスト欄がブラウザ上で瞬時に読み込まれます。登録は不要です。
  2. パターンを入力する — パターン欄に正規表現を入力します。構文が誤っている場合はすぐに表示されるので、その場で修正できます。
  3. テスト用テキストを貼り付ける — マッチさせたいテキスト——ログ行やCSVの行、URLなど実際の入力——を貼り付けます。入力するそばからマッチ箇所がハイライトされます。
  4. フラグを設定する — グローバル、大文字小文字を区別しない、複数行などのフラグを切り替えて、パターンの適用方法を制御します。
  5. キャプチャグループを確認する — キャプチャグループの内訳を確認し、各グループが正しい部分を取り出しているかチェックします。完成したパターンはそのままコードにコピーできます。

よくある質問

この正規表現テスターは無料ですか?

はい。アカウント登録不要で、ブラウザ上で無料で正規表現を作成・テストできます。

テスト用のテキストはどこかにアップロードされますか?

いいえ。このテスターは完全にブラウザ上(クライアントサイド)で動作します。入力したパターンと貼り付けたサンプルテキストは自分のデバイス内にとどまり、サーバーに送信されることはありません。

どの正規表現の仕様(フレーバー)を使っていますか?

JavaScriptの正規表現を使用しており、ブラウザやNode.jsと同じエンジンです。文字クラスや量指定子、グループ、先読みなど、よく使われる構文はそのまま期待どおりに動作します。

各キャプチャグループが何にマッチしたか確認できますか?

はい。ツールがキャプチャグループの内訳を表示するので、括弧で囲んだ各グループがテキストのどの部分を取り出したかを正確に確認できます。

パターンがマッチしないのはなぜですか?

よくある原因は、フラグの指定漏れ(大文字小文字を区別しないや複数行など)、エスケープし忘れた特殊文字、あるいは貪欲な量指定子が範囲を取りすぎていることです。リアルタイムのハイライト表示と無効なパターンの警告を見れば、どれが原因かを見極めやすくなります。

関連ツール

正規表現テスター:正規表現のテストとデバッグ | Morphを開く →