正規表現テスター
リアルタイムマッチハイライトとキャプチャグループ表示で正規表現をテスト
正規表現
このツールについて
正規表現テスターは、入力したパターンがテキストにどうマッチするかをリアルタイムで確認できる無料ツールです。マッチ箇所のハイライト、マッチ数、キャプチャグループや名前付きグループの抽出結果を一目で確認できます。フォームの入力検証、ログの抽出、文字列の置換ルール作成など、正規表現を書く・学ぶあらゆる場面で活躍します。チートシートも備え、メタ文字の意味をすぐ参照できます。
使い方
- 1 パターン欄に正規表現を入力します。
- 2 テスト文字列欄に検証したいテキストを貼り付けます。
- 3 マッチした部分がハイライトされ、件数と詳細が表示されます。
- 4 キャプチャグループや名前付きグループの抽出結果を確認します。
仕組みの解説
正規表現は、文字列のパターンを記述するための小さな言語です。基本となるメタ文字には次のようなものがあります。 ・「.」は任意の1文字、「\d」は数字、「\w」は英数字とアンダースコア、「\s」は空白。 ・「*」は直前を0回以上、「+」は1回以上、「?」は0回か1回、「{2,4}」は2〜4回の繰り返し。 ・「^」は行頭、「$」は行末、「[abc]」はaかbかc、「(…)」はキャプチャグループ。 たとえばメールアドレスの簡易チェックは「^\w+@\w+\.\w+$」のように書けます。なお「*」や「+」は標準では「貪欲」で、できるだけ長くマッチします。最短マッチにしたいときは「*?」のように「?」を付けます。正規表現の細かな仕様はJavaScript・Python・PHPなどフレーバーごとに差があるため、使用環境に注意が必要です。
よくある質問
貪欲マッチと非貪欲マッチの違いは何ですか?
貪欲(*や+)はできるだけ長く、非貪欲(*?や+?)はできるだけ短くマッチします。HTMLタグの抽出などで意図しない範囲を拾わないために使い分けます。
キャプチャグループとは何ですか?
丸括弧()で囲んだ部分を後から取り出せる仕組みです。日付の年・月・日を別々に抽出するなど、マッチの一部を再利用できます。
正規表現のフレーバーとは何ですか?
JavaScript・Python・PCREなど実装ごとの方言です。先読みや名前付きグループの書き方が異なる場合があるため、実行環境に合わせる必要があります。
特殊文字をそのまま検索するには?
「.」や「*」など意味を持つ文字は、前にバックスラッシュ「\」を付けてエスケープします。例えば本物のピリオドは「\.」と書きます。
関連ツール・用途
文字のコード値を確認するならASCII変換、文字列処理の学習には進数変換もあわせて便利です。数式のパターンを扱うなら方程式ソルバーもご活用ください。