正規表現テスター

ライブマッチとキャプチャグループ

JavaScript 正規表現をライブマッチ表示、キャプチャグループ、g・i・m フラグ制御とともにテストします。

この変換はブラウザ内だけで実行され、サーバーへはアップロードされません。

フラグ
  • マッチ—
  • フラグg
  • テスト文字列0

テスト文字列

出力

出力...

このツールについて

ブラウザで JavaScript の正規表現をコンパイルし、テスト文字列に対するライブマッチ表示、件数、キャプチャグループを示します。パターンに / 区切りは不要で、g・i・m を切り替えます。

挙動はブラウザの ECMAScript RegExp 準拠で、PCRE・Python・Java・.NET・RE2 とは異なることがあります。バリデーションやログ抽出の前確認に使えます。

よくある用途

  • フォーム検証パターンがサンプルを通す/落とす理由の確認
  • 短いログから ID や key=value をキャプチャ
  • 同じテキストで greedy .* と lazy .*?、マルチライン ^/$ の比較

使い方

  1. /…/ なしでパターンを入力(例: \d+、(\w+)=(\S+))。
  2. g(全件)・i(大文字小文字無視)・m(行単位の ^/$)を切り替え。
  3. テスト文字列を貼るとマッチがハイライトされ、キャプチャがあれば下に一覧表示。
  4. Sample は複数行 key=value、Copy は要約、Clear でリセット。

例

パターン / フラグテスト文字列結果
\d+ · gOrder 123 and 4562件: 123, 456
user-(\d+)user-42マッチ user-42; キャプチャ 42
^id=.*$ · muser=a / id=42(2行)id=42 行のみ(m で行 ^/$)
<(.+)> vs <(.+?)> · g<a>x</a><b>y</b>greedy は広く、lazy は短いタグ幅(対比)
[(不正)任意Invalid regex

実務での落とし穴

  • エンジン差: Python/re や PCRE 向けパターンは JS で失敗・差異が出ることがあります。
  • 既定は greedy: .* が想定外の境界を越えます。lazy や狭いクラスを使ってください。
  • ReDoS / 長文: 入れ子量化子と大きな貼り付けはタブを固めることがあります。短いサンプルで試してください。

参考資料

最終更新: 2026-07-27

よくある質問

どの正規表現エンジンですか?
ブラウザの JavaScript RegExp です。lookbehind や Unicode プロパティ、バックトラックは ECMAScript 準拠で、PCRE・Python・Java・.NET・RE2 とは異なる場合があります。
g・i・m フラグの意味は?
g(グローバル)は全マッチ、オフ時は最初の1件のみ。i は大文字小文字を無視、m は ^/$ を 行頭・行末にも合わせます。
欲張り(greedy)が長く取りすぎるのはなぜ?
.* や .+ は最長一致が既定です。最短なら .*? / .+?(lazy)、または境界を越えられない文字クラスに 絞ってください。
重いパターンでタブが固まりますか?
あり得ます。長い入力に入れ子の量化子があると ReDoS 的なバックトラックが起きます。デバッグ中は 短いサンプルに留めてください。