テスト文字列
マッチ
置換結果
「この正規表現、本当に狙ったところにマッチする?」を、コードを動かさずブラウザだけで確かめられるツールです。上のパターン欄に正規表現を、下にテスト文字列を貼り付けると、マッチした箇所がリアルタイムで色分けハイライトされ、何件マッチしたかが即座に分かります。`(...)` のキャプチャグループや `(?<name>...)` の名前付きグループは、マッチごとに番号・名前つきで一覧表示されるので、抽出したい部分が正しく取れているかを目で確認できます。g(全件)/ i(大小無視)/ m(複数行)/ s(ドットが改行にマッチ)/ u(Unicode)/ y(スティッキー)の各フラグはチェックボックスで切り替えられ、末尾の `/flags` 表示にも反映されます。置換欄に置換文字列を入れれば、`$1`・`$<name>`・`$&` などの置換パターンを使った結果をその場でプレビューでき、ワンクリックでコピーできます。エンジンはブラウザ標準の JavaScript(ECMAScript)正規表現なので、Web 開発でそのまま使える挙動を確認できます。ログや設定、個人情報を含むテキストを貼ってテストすることも多いため、本ツールはマッチ・抽出・置換のすべてをあなたのブラウザの中だけで実行し、サーバーへのアップロード・保存・送信は一切行いません。
使い方
- 上のパターン欄に正規表現を入力します(必要なフラグ g/i/m/s/u/y をチェック)。「サンプル」で例を入れて試せます。
- 下のテスト文字列欄に、マッチを確認したいテキストを貼り付けます。マッチした箇所が色分けされ、件数とグループが表示されます。
- 「置換後」に置換文字列(`$1` や `$&` など)を入れると置換結果をプレビュー。「コピー」で結果をコピーできます。入力はどこにも送信されません。
よくある質問
入力したパターンやテキストはアップロードされますか?
いいえ。マッチ・グループ抽出・置換はすべてあなたのブラウザ内(JavaScript)で実行され、パターンやテスト文字列はサーバーへアップロード・保存・送信されません。ログや設定ファイル、個人情報を含むテキストでも安心してテストできます。
どの正規表現エンジン(フレーバー)ですか?
ブラウザ標準の JavaScript(ECMAScript)正規表現エンジンです。Web のフロントエンドや Node.js でそのまま使える挙動を確認できます。`\d` `\w` `(?<name>...)` `(?=...)` などの ECMAScript 仕様に従い、PCRE や Python の `re`、Java とは一部の記法(例: `\A`、再帰、`\h` など)が異なる点にご注意ください。
g / i / m / s / u / y のフラグは何ですか?
g=global(最初の1件で止まらず全件マッチ)、i=大文字小文字を無視、m=multiline(^ と $ を各行の行頭・行末にマッチ)、s=dotall(. を改行にもマッチ)、u=Unicode モード、y=sticky(lastIndex の位置から固定でマッチ)です。チェックを切り替えると即座に結果へ反映され、パターン末尾の `/flags` 表示も更新されます。g を外すと最初の1件だけがマッチ対象になります。
キャプチャグループや名前付きグループは見られますか?
はい。`(...)` のグループは 1, 2, 3… の番号で、`(?<year>\d{4})` のような名前付きグループは名前つきで、マッチごとに一覧表示します。グループが対象にマッチしなかった場合は `(undefined)`、空文字でマッチした場合は `(empty)` と表示し、どのグループが何を捕まえたかを正確に確認できます。
置換で使える `$1` や `$<name>` などの記法は?
「置換後」欄は JavaScript の String.replace と同じ置換パターンに対応します。`$1`〜`$9`(番号グループ)、`$<name>`(名前付きグループ)、`$&`(マッチ全体)、`` $` ``(マッチ前)、`$'`(マッチ後)、`$$`(ドル記号そのもの)が使えます。g フラグが付いていれば全件、付いていなければ最初の1件だけが置換されます。
マッチが大量/無限ループになりませんか?
長さ 0(ゼロ幅)のマッチでも位置を1つ進めて無限ループを防ぎ、表示するマッチ件数には上限(5,000件)を設けて打ち切ります。上限に達した場合は「先頭 N 件のみ表示」と表示します。処理はすべて端末内で行われるため、極端に重いパターンは一時的にタブが固まることがありますが、データが外部へ送られることはありません。