Regex Tester

テキストに対して正規表現をテストする

ハイライトされたマッチ
2 マッチ

なぜブラウザで正規表現をテストするのか?

正規表現エンジンは言語ごとに微妙に異なります:PCRE (PHP)、POSIX (grep)、Perl、Pythonの`re`、JavaScriptのregexは異なる機能セットを持っています。ブラウザでのテストはJavaScriptエンジンを使用します — クライアントサイドコード、Node.js、またはInertiaのバリデーションルールで実行されるものと同じです。

テスターは入力中にマッチをハイライトし、マッチごとにキャプチャグループをリスト表示し、現在有効な正規表現フラグを表示します。悪いパターンは静かに失敗するのではなく、明確な構文エラーを示します。

使用例

  • ログからフィールドを抽出 — プルリクエストID、IP、または非構造化ログ行からのタイムスタンプを取得します。
  • ユーザー入力を検証 — フォームを送信する前にメールアドレス、郵便番号、または電話番号をチェックします。
  • バルク検索と置換 — ソースコードやマークダウンのペーストをスイープして、キャプチャグループプレースホルダーを持つパターンの名前を変更します。
  • 機密データをスクラブ — スクリーンショットを共有する前に、ログからメールアドレス、JWT、またはクレジットカード番号を削除します。

Extracting emails with capture groups
入力
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]
出力
Match 1: [email protected]
  Group 1: alice
  Group 2: example
  Group 3: com

Match 2: [email protected]
  Group 1: bob
  Group 2: test
  Group 3: org

よくある質問

どの正規表現フレーバーがサポートされていますか?

JavaScript / ECMAScriptの正規表現。最新のブラウザでのルックビハインド、名前付きグループ(`(?<name>...)`)、Unicodeモード(`u`フラグ)、およびスティッキーマッチング(`y`フラグ)をサポートしています。

なぜ私のPCREパターンは機能しないのですか?

PCREにはJavaScriptの正規表現にはない機能があります:再帰パターン、所有量子、条件付きパターン。JavaScriptはほとんどの日常的なニーズをカバーしますが、これらの高度なケースには対応していません。

キャプチャグループはどのように機能しますか?

パターンの一部を囲む括弧は、番号付きキャプチャグループを作成します。マッチ内では、グループ1が最初の`(...)`、グループ2が2番目、などです。非キャプチャグループには`(?:...)`を使用します。

無限ループの正規表現はブラウザをフリーズさせますか?

壊滅的なバックトラッキングはタブを一時的にフリーズさせることがあります。テスターはあなたのタブで実行されるため、悪いパターンはこのツールにのみ影響します — 必要に応じて閉じて再オープンしてください。

私のパターンやテストテキストはアップロードされますか?

いいえ — 両方ともブラウザ内に留まります。