正規表現テスター
ライブマッチとキャプチャグループ
JavaScript 正規表現をライブマッチ表示、キャプチャグループ、g・i・m フラグ制御とともにテストします。
この変換はブラウザ内だけで実行され、サーバーへはアップロードされません。
フラグ
- マッチ—
- フラグg
- テスト文字列0
テスト文字列
出力
出力...
このツールについて
ブラウザで JavaScript の正規表現をコンパイルし、テスト文字列に対するライブマッチ表示、件数、キャプチャグループを示します。パターンに / 区切りは不要で、g・i・m を切り替えます。
挙動はブラウザの ECMAScript RegExp 準拠で、PCRE・Python・Java・.NET・RE2 とは異なることがあります。バリデーションやログ抽出の前確認に使えます。
よくある用途
- フォーム検証パターンがサンプルを通す/落とす理由の確認
- 短いログから ID や key=value をキャプチャ
- 同じテキストで greedy
.*と lazy.*?、マルチライン^/$の比較
使い方
/…/なしでパターンを入力(例:\d+、(\w+)=(\S+))。g(全件)・i(大文字小文字無視)・m(行単位の^/$)を切り替え。- テスト文字列を貼るとマッチがハイライトされ、キャプチャがあれば下に一覧表示。
- Sample は複数行 key=value、Copy は要約、Clear でリセット。
例
| パターン / フラグ | テスト文字列 | 結果 |
|---|---|---|
\d+ · g | Order 123 and 456 | 2件: 123, 456 |
user-(\d+) | user-42 | マッチ user-42; キャプチャ 42 |
^id=.*$ · m | user=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 的なバックトラックが起きます。デバッグ中は 短いサンプルに留めてください。