正規表現テスター

マッチハイライトとキャプチャグループ詳細付きでリアルタイムに正規表現をテスト。無料、ブラウザ内で処理。

  • ブラウザ内で処理
  • データはブラウザ外に出ません
  • 無料 · 登録不要
両端のスラッシュを除いて JavaScript の正規表現を入力します。入力やフラグの変更後、300 ミリ秒待って実行します。ブラウザーの Worker は上限 2 秒で、「キャンセル」で停止できます。時間切れやキャンセルでは完全な結果はありません。
g をオンにすると全マッチを検索し、オフでは最初の 1 件だけ返します。変更後 300 ミリ秒で再実行します。
大文字と小文字を区別しません。アクセントは区別するため、cafe と i は CAFE に一致しますが Café には一致しません。
^ と $ を各行の先頭と末尾に一致させます。m がオフなら、テキスト全体の先頭と末尾を指します。
ドットを改行にも一致させます。^ と $ の意味は変わりません。
テストするテキストを入力または貼り付けます。変更すると前の実行を停止し、300 ミリ秒後に再実行します。ツール内で Ctrl+L(Mac は ⌘+L)を押すと両入力と結果を消し、フラグは保持します。

パターンとテスト文字列を入力すると、ハイライトとキャプチャグループを表示します。

マッチのハイライト 先頭 100,000 UTF-16 単位と最大 1,000 件のハイライトを表示します。長いテキストは欄内でスクロールできます。無効なパターンでは、強調せずテキストを表示します。
マッチの詳細 完了した実行は全マッチを数えます。一覧は先頭 100 件と各 20 グループまでで、名前付きグループも番号で表示します。値は各 1,000 UTF-16 単位、合計 100,000 単位までで、省略を … で示します。位置も UTF-16 単位です。
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。

正規表現について

正規表現(RegEx)は文字列のパターンマッチングのための強力なミニ言語です。テキストの検索・抽出・置換・バリデーションに使われ、プログラミング・データ処理・テキスト編集のあらゆる場面で活躍します。

実際の動作例

g をオンにしたときのテスターの結果です。

正規表現テスト文字列マッチ
^\d{3}-\d{4}$100-0001全体に一致(郵便番号の形式)
[ぁ-んァ-ヶー一-龠]+注文番号は12345です注文番号は、です
<.+><a>foo</a><a>foo</a>(最長一致:最初の < から最後の > まで)
<.+?><a>foo</a><a>、</a>(最短一致)
(?<=\$)\d+cost $4242(後読み)
^(?<ts>\S+)\s+(?<level>\w+)\s+(?<msg>.+)$2026-04-07T14:23:01 ERROR connection refused1 件。グループは 2026-04-07T14:23:01、ERROR、connection refused

正規表現が確認するのは形式だけです。^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$ は 2026-02-31 も通すので、日付は日付ライブラリで解析してください。郵便番号の正規表現も、その番号が実在するかまでは確認しません。

よくある間違い

  • メタ文字のエスケープ漏れ。 . * + ? ( ) [ ] { } ^ $ | \ は特別な意味を持ちます。ピリオドそのものには \. と書きます。
  • 複数行テキストの ^ と $。 m をオフにすると、テキスト全体の先頭と末尾にしか一致しません。
  • \w は ASCII だけ。 café 東京 に \w+ を使うと caf だけが一致し、漢字には一致しません。日本語には [ぁ-んァ-ヶー一-龠] のような範囲を使います。
  • 量指定子の入れ子。 (a+)+$ は一致に近い文字列で長時間かかることがあります。ネイティブ JavaScript RegExp を Worker で実行し、全体の上限は 2 秒です。「キャンセル」で停止できます。時間切れやキャンセルでは完全な結果は出ません。入力を変えると前の処理を停止します。

制限事項

  • JavaScript の構文だけです。 Python の (?P<name>...) は「Invalid group」になるので (?<name>...) と書きます。Go(RE2)、PCRE、Java 向けの正規表現は動作が異なることがあります。
  • フラグは 4 つ。 使えるのは g、i、m、s だけです。u がないため \p{L} は文字列 p{L} として扱われ、y、d、v も使えません。
  • グループは番号で表示されます。 名前付きグループもグループ 1、グループ 2 と表示されます。
  • 件数は全体、表示は上限付き。 完了した処理では全マッチを数えます。ハイライトは先頭 100,000 UTF-16 単位と最大 1,000 件までです。一覧は先頭 100 件と各マッチの 20 グループまで、各値は 1,000 単位、合計 100,000 単位までです。短縮した値には … を付けます。index は UTF-16 単位で、前の絵文字 1 つにつき 2 増えます。Worker 対応が必要です。
  • 置換はできません。 テスターはマッチを探すだけで、replace() は実行しません。

FAQ

どの正規表現フレーバーを使用していますか?

JavaScriptのネイティブRegExpエンジンを使用しています。後方参照(\1、\k<name>)や先読み・後読みは使えますが、PCRE の再帰パターンや所有量指定子は使えません。

フラグ(g, i, m等)は使えますか?

はい。チェックボックスで g(グローバル)、i(大文字小文字を無視)、m(複数行)、s(dotAll)の 4 つを組み合わせて設定できます。u・y・d・v フラグはありません。

キャプチャグループとは何ですか?

括弧()で囲まれたパターンの一部で、マッチの特定部分を抽出するために使います。一覧には先頭 100 件のマッチと、各マッチの 20 グループまでの内容を表示します。短縮した値には … を付けます。

データはサーバーに送信されますか?

いいえ。すべての正規表現処理はブラウザ内で完全に行われます。