オンラインで正規表現をテストする方法

· 4 分で読めます

正規表現はプログラミングでもっとも強力なツールのひとつ — そして習得がもっとも難しいもののひとつでもあります。正規表現テスターを使えば、コードを実行して出力を確認し何が悪いか推測する代わりに、対話的にパターンを構築・デバッグできます。

正規表現テスターを使う理由

エディタで正規表現を書くと、エラーは実行時にしか見えません。テスターは次を表示します:

オンラインで正規表現をテストする方法

  1. パターンを入力 — 正規表現をパターンフィールドに入力します。必要に応じてフラグ(g はグローバル、i は大文字小文字を区別しない、m は複数行)を有効にします。
  2. テストテキストを貼り付ける — テスト対象のテキストを入力します。マッチがリアルタイムでハイライトされます。
  3. 結果を確認 — すべてのマッチと、その下にキャプチャグループが表示されます。「置換」フィールドで置換のテストもできます。

覚えておきたいよくあるパターン

メールアドレス(基本):

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

URL:

https?://[^\s]+

電話番号(米国):

\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}

日付(YYYY-MM-DD):

\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])

IP アドレス(IPv4):

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

より良い正規表現を書くヒント

よくある質問

私の正規表現は他のプログラミング言語でも動作しますか?

正規表現の構文の大部分は JavaScript、Python、Java、PHP などで共通です。基本パターン(文字クラス、量指定子、アンカー)はどこでも動作します。後読みや名前付きグループのような一部の高度な機能は言語によって異なります。

テストデータはサーバーに送信されますか?

いいえ。すべてのマッチングはブラウザ内で JavaScript ネイティブの RegExp エンジンを使ってローカルに行われます。何も外部に送信されません。

置換をテストできますか?

はい。置換パターン(キャプチャグループには $1、$2 などを使用)を入力すると、検索置換の結果がリアルタイムに表示されます。

オフラインで動作しますか?

はい。ページ読み込み後はインターネット接続なしにブラウザ内で完全に動作します。