正規表現テスター / エディター / マッチビジュアライザー
正規表現のテスト、可視化、置換、解説を行います。 すべてブラウザ内で処理されます
| # | マッチ | 開始位置 | 終了位置 | 長さ | グループ |
|---|
$1 $2 キャプチャグループ · $& マッチ全体 · $` マッチ前 · $' マッチ後 · $$ リテラル $ · $<name> 名前付きグループ例をクリックすると、テストタブに読み込まれ自動実行されます。
Tips
自動実行で即座にフィードバック
自動実行を有効にすると、入力に合わせて結果がリアルタイムで更新されます。UIの応答性を保つため入力をデバウンスします。非常に大きなテキストではフリーズ防止のため自動実行が自動的に無効になります。
キャプチャグループを理解する
括弧 () はキャプチャグループを作成します。テーブル内のマッチをクリックするとグループが表示されます。名前付きグループ (?<name>...) により正規表現が読みやすくなり、$<name> で置換も簡単になります。
壊滅的バックトラッキングの回避
(a+)+ や (a|a)*b のようなネストした量指定子は指数関数的な実行時間を引き起こす可能性があります。パターンはシンプルに保ち、可能であればアトミック構造を使い、エッジケースの入力でテストしてください。
JavaScriptエンジンの違い
このツールはJavaScript RegExpを使用しています。所有量指定子やアトミックグループなどの一部の機能は利用できません。後読みにはモダンブラウザが必要です。Python、PCRE、.NET の正規表現とは動作が異なる場合があります。
よくある使い方
フォームバリデーション
フロントエンドやバックエンドのバリデーションロジックに実装する前に、メール、電話番号、日付、パスワードのパターンをテストできます。
ログ解析
名前付きキャプチャグループを使用してログファイルからタイムスタンプ、エラーレベル、メッセージを抽出できます。マッチをJSONとしてコピーして後続処理に活用できます。
データ抽出
非構造化テキストからURL、IPアドレス、UUID、16進カラーコードを抽出できます。マッチテーブルにすべての出現箇所と位置情報が表示されます。
コードリファクタリング
置換タブを使って、IDEに適用する前に検索・置換パターンをテストできます。$1 や $<name> などのキャプチャグループ参照をサポートしています。
正規表現の学習
解説タブは任意のパターンを分かりやすいトークンに分解します。チートシートと例を組み合わせることで、完全な学習環境となります。