正規表現テスター

JavaScript RegExp パターンをブラウザで検証し、フラグ、マッチ結果、キャプチャグループ、置換結果を1画面で確認できます。

フラグ

このツールは JavaScript `RegExp` の挙動に合わせて動作します。`g` フラグはマッチ収集だけでなく置換範囲にも影響します。

よく試す例

lookbehind、named group などのモダンな JavaScript 正規表現機能も、現在のブラウザが対応していればそのまま試せます。

入力内容はブラウザ内だけで処理されます。ただし JavaScript の正規表現は PCRE、Python、Java、grep と完全には同じではないため、本番環境が別エンジンなら差分確認が必要です。
正規表現は有効です。現在の設定では 3 件のマッチが見つかりました。

実行サマリー

正規表現リテラル/(?<user>[A-Z0-9._%+-]+)@(?<domain>[A-Z0-9.-]+\.[A-Z]{2,})/gi
有効なフラグgi
マッチ数3
ユニークなマッチ数3
実行モード`g` あり: 全件検索

マッチ結果

マッチ 1インデックス 5 〜 24
hello@toolivers.com

キャプチャグループ

$1hello
$2toolivers.com

名前付きグループ

userhello
domaintoolivers.com
マッチ 2インデックス 26 〜 43
admin@example.org

キャプチャグループ

$1admin
$2example.org

名前付きグループ

useradmin
domainexample.org
マッチ 3インデックス 63 〜 79
SALES@company.io

キャプチャグループ

$1SALES
$2company.io

名前付きグループ

userSALES
domaincompany.io

置換プレビュー

置換文字列を入力すると、現在のフラグで JavaScript `String.prototype.replace()` の結果を確認できます。

置換プレビュー
連絡先: hello at toolivers.com, admin at example.org, invalid@local
CC: SALES at company.io

`g` フラグが有効なので、テキスト全体に置換が適用されます。

正規表現テスターガイド

正規表現テスターは、単に構文が正しいかを見るだけでなく、実際の文字列に対してどこがマッチするか、置換で何が変わるかまで確認できると価値が高まります。入力バリデーション、ログ解析、テキスト整形、フォーム処理、API レスポンス後処理のような場面では、グループ化、貪欲さ、アンカー、フラグのわずかな違いがバグにつながりやすいためです。このツールは JavaScript 実行環境を前提に、パターン、フラグ、マッチ、グループ、置換を一箇所で見やすく確認できるようにしています。

こんな場面で便利です

  • 入力チェック用の正規表現が想定どおりの例にマッチするか確認したいとき
  • ログ、CSV、マークアップ、テンプレート文字列から必要な部分だけを抜き出したいとき
  • 日付やコード、テキスト形式を置換する前に結果を先に見たいとき
  • キャプチャグループや named group が期待どおり取れているか確認したいとき

フラグの見方

  • `g` は表示される件数だけでなく置換範囲も変えるため、最初に確認するのがおすすめです。
  • `m` は `^` と `$` の意味だけを変えます。改行を `.` に含めたいなら `s` が必要です。
  • `u` は絵文字や多言語テキストで特に重要で、Unicode を意識した解釈になります。
  • `y` はやや特殊で、トークナイザーのような位置依存の解析でよく使われます。

よくあるミス

  • JavaScript、PCRE、Python、Java、grep の正規表現が同じだと思い込むミス
  • ソースコード文字列内ではバックスラッシュを追加でエスケープする必要を見落とすミス
  • `g` なしで試したのに、置換は全件に効くと思ってしまうミス
  • 複数行テキストで `m` と `s` の役割の違いを混同するミス

関連する開発者ツール

JSONフォーマッター

正規表現で抽出・整形した文字列を JSON として整理したいときに便利です。

URLパラメータパーサー

query string を分解した後に、特定トークンだけ正規表現で確認したいときに相性が良いです。

Base64ファイルエンコーダー

エンコード文字列から MIME prefix を外したり一部だけ検査したいときに役立ちます。

よくある質問

現在のブラウザが持つ JavaScript `RegExp` エンジンです。そのため PCRE、grep、Python、Java とは構文や細かな挙動が異なる場合があります。
はい。ブラウザが `(?<name>...)` をサポートしていれば、そのまま使えて結果にも表示されます。
それが JavaScript 正規表現の標準的な挙動です。`g` がない場合、マッチも置換も基本的に最初の1件が対象になります。
いいえ。パターンのコンパイル、マッチ判定、置換プレビューはすべてブラウザ内で処理されます。