オンライン正規表現テスター
ライブマッチハイライト付きで正規表現をテスト — タイムアウト付きのWeb Worker内で実行されるため、暴走したパターンがページをフリーズさせることはありません。
パターン
テスト文字列
置換(グループには$1、$2…を使用)
ハイライトされた一致
結果
マッチングはすべてブラウザ内で行われます — パターンやテキストがサーバーに送られることはありません。
マッチングはタイムアウト付きのWeb Worker内で実行されるため、致命的に遅いパターンでもページがフリーズすることはありません。
アカウント不要、利用回数の制限もありません。
なぜWeb Workerで実行されるのですか?
一部の正規表現は特定の入力に対して病的に遅くなります — これは「破滅的バックトラッキング」と呼ばれる問題です。(a+)+$(a+)+$のようなパターンを、末尾に一致しない長いaの文字列に対してテストすると、通常のJavaScriptエンジンでは処理が宇宙の年齢より長くかかることがあり、それがページのメインスレッドで実行されると、タブ全体が完全にフリーズして止める手段がなくなります。このツールはすべてのマッチ試行をWeb Worker(別スレッド)内でタイムアウト付きに実行するため、そのようなパターンはブラウザをロックする代わりに、明確なメッセージとともにきれいに打ち切られます。
正規表現のテスト方法
- パターンを入力します。 パターン欄に正規表現そのもの(前後のスラッシュなし)を入力します。
- フラグを選択します。 必要に応じてg、i、m、s、uをチェックします。
- テスト用テキストを貼り付けます。 マッチは即座にハイライトされ、各一致の位置とキャプチャされたグループを示すリストが表示されます。
- Replaceモードを試します(任意)。 Replaceに切り替え、グループには$1/$2を使って置換を入力すると、結果がライブで表示されます。
よくある質問
このツールは決して終わらないパターンからどう保護してくれますか?
すべてのマッチはページのメインスレッドではなく、タイムアウト付きのWeb Worker内で実行されます。異常なパターン(「破滅的バックトラッキング」)は特定の入力で正規表現エンジンをほぼ無限に動かし続けることがあります — Workerで実行することで、ページをフリーズさせる代わりに数秒後に強制的に停止させることができ、何が起きたかを説明する明確なメッセージが表示されます。
このツールはどのフラグに対応していますか?
g(グローバル — 最初だけでなくすべての一致を検索)、i(大文字小文字を区別しない)、m(複数行 — ^と$が行境界にマッチ)、s(dotAll — .が改行にもマッチ)、u(Unicodeモード)です。
キャプチャグループは表示されますか?
はい — 結果リストの各一致には、一致したテキスト全体とキャプチャされたグループが順番に表示されます。
検索と置換をプレビューできますか?
はい — Replaceモードに切り替え、置換パターン(キャプチャグループには$1、$2などを含む)を入力すると、結果がライブで更新されるのが見られます。
パターンが無効な場合はどうなりますか?
一般的な失敗メッセージの代わりに、閉じられていないグループや無効なフラグの組み合わせなど、JavaScriptの正規表現エンジンが実際に出すエラーメッセージが表示されます。
私のパターンやテスト用テキストはどこかにアップロードされますか?
いいえ。マッチングはすべてブラウザ内で行われます — Web Worker内ですが、それでも完全にクライアント側であり、CurePDFのサーバーには何も送信されません。
正規表現テスターは無料ですか?
はい、アカウント不要、利用回数の制限もありません。