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 は単語の境界(スペースなど)にマッチします。^ は文字列(または行)の開始にマッチします。用途が異なります。