DevToolPal
日本語

正規表現テスター

JavaScript の正規表現をリアルタイムでテスト。マッチのハイライト、キャプチャグループの確認、置換結果のプレビューができます。

ローカルで処理、アップロードなし

オプション

テスト文字列

0 文字 · 0 B

結果

結果はここに表示されます

何ができるか

正規表現テスターでは、正規表現を書きながら、サンプルテキストのどこにマッチするかをリアルタイムで正確に確認できます。マッチはその場でハイライトされ、すべてのキャプチャグループが値と位置付きで一覧表示されます。置換テンプレートを指定すれば、String.replace の結果も確認できます。

使い方

  1. 検索したいテキストを テスト文字列 に貼り付けるか、サンプル をクリックします。
  2. オプションパネルの 正規表現 にパターンを入力します。前後のスラッシュは付けません。
  3. 必要なフラグを切り替えます。g はすべてのマッチ、i は大文字小文字の無視、m は行ごとの ^ と $、s は . を改行にもマッチさせ、u は完全な Unicode 対応です。
  4. 結果を確認します。マッチ数、ハイライトされたテキスト、各マッチとそのグループの表が表示されます。コピー をクリックすると値をコピーできます。
  5. 置換を試すには、置換文字列($1、$) に $2, $1 のように入力します。

例

既定のパターン ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) はメールアドレスを見つけ、ユーザー名とドメインを別々にキャプチャします。置換文字列 $1 at $2 を使うと、テキスト hello@example.com は hello at example.com になります。

クイックリファレンス

  • \d 数字、\w 単語構成文字、\s 空白文字、. 任意の文字
  • * 0 回以上、+ 1 回以上、? 省略可能、{2,5} 2〜5 回
  • [abc] いずれか 1 文字、[^abc] いずれでもない文字、a|b どちらか
  • (...) キャプチャグループ、(?<name>...) 名前付きグループ、(?:...) キャプチャしないグループ
  • (?=...) 先読み、(?<=...) 後読み、\b 単語境界

よくある質問

› どの正規表現エンジンを使っていますか?

ブラウザに組み込まれた JavaScript(ECMAScript)エンジンです。Node.js、Deno、すべてのブラウザで使われているものと同じです。構文の大部分は PCRE、Python、Java と共通ですが、強欲な量指定子や再帰など一部の機能には対応していません。

› パターンが 1 つしかマッチしないのはなぜですか?

グローバル (g) フラグをオンにしてください。このフラグがないと、JavaScript は最初のマッチで止まります。

› 置換文字列でグループを参照するには?

番号付きグループには $1、$2…、名前付きグループには $<name>、マッチ全体には $&、ドル記号そのものには $$ を使います。

› ^ と $ が各行にマッチしないのはなぜですか?

既定では、テキスト全体の先頭と末尾にしかマッチしません。複数行 (m) をオンにすると、改行の位置でもマッチするようになります。

› テキストはどこかに送信されますか?

いいえ。マッチングはブラウザ内で行われます。非常に遅いパターン(壊滅的なバックトラック)はタブを固まらせることがあるので、長い入力に (a+)+ のような入れ子の量指定子を使うのは避けてください。