正規表現テスターを使えば、正規表現を書いてサンプルテキストを貼り付けるだけで、何にマッチするかをその場でハイライト表示しながら確認できます。正規表現は強力な反面、間違えやすいことで知られており、正しく仕上げる一番の近道は、作りながら実際の入力でテストすることです。Morphの正規表現テスターは、まさにそれをブラウザ上でリアルタイムに行います。
コードにパターンを埋め込んで実行し、出力を目を凝らして確認する……という手間をかける代わりに、式を少しずつ調整しながらハイライトがリアルタイムに更新される様子を見るだけで済みます。マッチが現れたり消えたりすれば、直前の変更が効いたかどうかすぐにわかります。
正規表現は「書いては確かめる」の繰り返しです。少し複雑なパターンを一発で決められることはまずありません。専用のテスターがあれば、そのループはほぼゼロになります——パターンを変えれば、すぐに結果が見えます。ブラウザのタブ内で完結するので、文字クラスが思いどおりに動いているか確かめるためだけにREPLを立ち上げたり、使い捨てのスクリプトを書いたりする必要もありません。
プライバシー面でも安心です。これは思われている以上に正規表現にとって重要なポイントです。マッチさせる対象のテキストは、本番環境のログ行や顧客データ、社内のファイルパスなど、実データであることが少なくありません。Morphの正規表現テスターは完全にクライアントサイドで動作するため、そのサンプルテキストがブラウザの外に出ることはありません。アップロードは一切不要で、アカウント作成も必要ありません。
シンプルなパターンから始めて、ハイライトで各ステップを確認しながら少しずつ育てていきましょう。日付やID、ドメインなど、必要な部分を取り出すにはキャプチャグループを使い、グループの内訳で狙った箇所を正しく捉えているか確認します。大文字小文字の違いや複数行にまたがる検索にはフラグを切り替えて対応します。パターンが意図したものだけに過不足なくマッチするようになったら、コードやエディタの検索・置換、コマンドラインツールにコピーして使いましょう。
抽出した構造化データをさらに扱うにはJSONフォーマッターが相性抜群ですし、作ったパターンをドキュメント化する際にはMarkdownエディタも便利です。正規表現テスターは、本番に送り出す前に式を仕上げておく場所です。
はい。アカウント登録不要で、ブラウザ上で無料で正規表現を作成・テストできます。
いいえ。このテスターは完全にブラウザ上(クライアントサイド)で動作します。入力したパターンと貼り付けたサンプルテキストは自分のデバイス内にとどまり、サーバーに送信されることはありません。
JavaScriptの正規表現を使用しており、ブラウザやNode.jsと同じエンジンです。文字クラスや量指定子、グループ、先読みなど、よく使われる構文はそのまま期待どおりに動作します。
はい。ツールがキャプチャグループの内訳を表示するので、括弧で囲んだ各グループがテキストのどの部分を取り出したかを正確に確認できます。
よくある原因は、フラグの指定漏れ(大文字小文字を区別しないや複数行など)、エスケープし忘れた特殊文字、あるいは貪欲な量指定子が範囲を取りすぎていることです。リアルタイムのハイライト表示と無効なパターンの警告を見れば、どれが原因かを見極めやすくなります。