Regex Tester

正規表現テスターについて

この正規表現テスターは、プログラマーや開発者向けの無料オンラインツールです。正規表現(Regular Expression)のテストとデバッグをリアルタイムで行うことができます。

主な機能

  • リアルタイムマッチング:入力と同時にマッチング結果を表示
  • 複数マッチの表示:グローバルフラグ(g)を使用した複数マッチの検出
  • 大文字小文字の区別:大文字小文字を区別しないマッチング(iフラグ)
  • 複数行マッチング:複数行にまたがるマッチング(mフラグ)
  • グループマッチング:キャプチャグループの表示と管理

よく使う正規表現パターン

  • メールアドレス: ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
  • URL: ^https?://[A-Za-z0-9.-]+\.[A-Za-z]{2,}(/\S*)?$
  • 電話番号: ^\d{2,4}-\d{2,4}-\d{4}$
  • 郵便番号: ^\d{3}-\d{4}$
  • IPアドレス: ^(\d{1,3}\.){3}\d{1,3}$

正規表現の基本

正規表現は、テキストパターンの検索や置換に使用される強力なツールです。以下の基本的な要素を組み合わせて使用します:

  • 文字クラス: [abc](a、b、cのいずれか)
  • 量指定子: *(0回以上)、+(1回以上)、?(0回または1回)
  • アンカー: ^(行頭)、$(行末)
  • エスケープ: \(特殊文字のエスケープ)

使用例

このツールは以下のような場面で特に役立ちます:

  • フォームのバリデーション(メールアドレス、電話番号、URLなど)
  • ログファイルからの特定パターンの抽出
  • テキストエディタでの検索と置換
  • プログラミングコードのリファクタリング
  • データクリーニングと整形

パフォーマンスの最適化

正規表現のパフォーマンスを最適化するためのポイント:

  • 非貪欲マッチング(?)の適切な使用
  • キャプチャグループの最小限の使用
  • アンカーの適切な配置
  • 文字クラスの最適化

よくある質問

キャプチャグループとは何ですか?

キャプチャグループは括弧()で囲まれた部分で、マッチした文字列の一部を抽出できます。例:(\\d+)-(\\d+) で電話番号の前後の番号を分けて取得できます。

フラグ(g、i、m)の役割は何ですか?

g(グローバル)は全てのマッチを探します。i(大文字小文字を区別しない)は大文字と小文字を同じとみなします。m(複数行)は^と$が各行で機能します。

メールアドレス検証の正規表現は?

シンプルなものは ^[^@]+@[^@]+\\.[^@]+$ ですが、RFC準拠の完全な正規表現は非常に複雑です。実際の検証にはライブラリ使用をお勧めします。

ドット(.)が改行にマッチしないのはなぜですか?

デフォルトでは「.」は改行にマッチしません。改行を含めたい場合は「[\\s\\S]」を使用するか、sフラグが必要です。

\\b と ^ の違いは何ですか?

\\b は単語の境界(スペースなど)にマッチします。^ は文字列(または行)の開始にマッチします。用途が異なります。