正規表現テスター

JavaScript の正規表現をサンプルテキストに対してブラウザ上で即座にテストできます。

パターン
フラグ
テスト対象の文字列
ハイライト表示された一致
準備完了。テストするパターンを入力してください。

パターンとテキストのテストはお使いのブラウザ内で行われます。BroBroGo にアップロードされることはありません。

よくある質問

ここにテキストを貼り付けても安全ですか?

はい、安全です。マッチング処理はすべてお使いのブラウザ内で行われ、BroBroGo にデータが送信されることはありません。

g/i/m/s フラグの意味は何ですか?

「g」は最初の1つだけでなく、すべての一致を検出します。「i」は大文字と小文字を区別しません。「m」は「^」と「$」を文字列全体ではなく、各行の先頭と末尾に一致させます。「s」は「.」を改行文字にも一致させます。

「パターン処理に時間がかかりすぎています」と表示されたのはなぜですか?

一部のパターンは「破滅的なバックトラッキング(Catastrophic Backtracking)」を引き起こし、エンジンが膨大な組み合わせを試すことでブラウザのタブがフリーズすることがあります。このツールは、そのような場合に2秒後に処理をキャンセルするため、ページ自体がロックされるのを防ぎます。(a+)+ のようなネストされた繰り返しを単純化してみてください。

JavaScript 正規表現のブラウザ上での即時検証

正規表現(Regular Expression)は、特定の文字パターンを定義し、テキスト内から該当する文字列を検索、抽出、または置換するための強力な仕組みです。本ツール「正規表現テスター」は、JavaScript の正規表現エンジンに基づき、入力されたパターンとテスト対象の文字列をリアルタイムに照合します。

入力されたパターンに適合する文字列が存在する場合、該当箇所が即座にハイライト表示され、検出された具体的な情報が一覧として出力されます。これにより、記述した正規表現が意図通りに機能しているかを視覚的に確認できます。


動作仕様と入力項目

本ツールは、以下の入力項目を設定することで動作します。

  • パターン: 検証したい正規表現を入力します。プレースホルダーとして \d+(1文字以上の数字に一致)が指定されています。
  • フラグ: 正規表現の検索挙動を制御するオプションです。以下の4種類を選択できます。
    • g(グローバル): 最初の1つだけでなく、すべての一致を検出します。このフラグが選択されていない場合、最初に一致した1箇所のみが返されます。
    • i(大文字小文字を区別しない): アルファベットの大文字と小文字を区別せずに照合します。
    • m(複数行): メタ文字である ^$ を、文字列全体の先頭・末尾ではなく、各行の先頭と末尾に一致させます。
    • s(ドットを改行に一致): メタ文字である .(任意の1文字)を、改行文字にも一致させます。
  • テスト対象の文字列: パターンを適用して検証したいサンプルテキストを入力または貼り付けます。

出力結果と表示制限

照合処理が行われると、以下の情報が出力されます。

  • ハイライト表示された一致: テスト文字列内でパターンに一致した部分が視覚的に強調されます。
  • 一致: 検出されたすべての一致結果がリスト化されます。パターン内に丸括弧 () を用いたキャプチャグループが含まれている場合、各一致項目の中に「グループ {n}」として抽出された文字列が表示されます。
  • 一致数: {count}: 検出された一致の総数が表示されます。
  • 文字数: 入力されたテスト文字列の文字数が表示されます。

制限事項とエッジケース

  • 最大件数: 「g」フラグが有効な場合、ツールが検出する一致数は最大 1,000 件に制限されます。また、画面上に表示される一致カードの数は最大 100 件までとなります。この表示制限を超える場合は、「最初の {max} 件を表示しています。」という通知が表示されます。
  • クリア機能: 「クリア」ボタンをクリックすると、入力と結果がリセットされ、「クリアしました。」と表示されます。

エラーハンドリングとパフォーマンス保護

不適切な正規表現の記述や、処理負荷が極端に高いパターンが入力された場合、ツールは以下のメッセージを出力して動作を停止または制限します。

  • 無効な正規表現です。: 入力されたパターンの構文が JavaScript の正規表現ルールに違反している場合に表示されます。
  • 一致する結果はありません。: パターンに適合する文字列がテスト文字列内に存在しない場合に表示されます。
  • このパターンの実行に時間がかかりすぎています。処理が極端に遅い(破滅的なバックトラッキング)可能性があります。パターンを単純化してみてください。: パターンの評価処理が 2 秒を超えた場合に、ツールは処理を強制的にキャンセルし、この警告を表示します。これは、特定のネストされた繰り返しパターン(例: (a+)+ など)に対して複雑なテキストを評価した際、エンジンが膨大な組み合わせを検証し続けてフリーズする「破滅的なバックトラッキング」からブラウザを保護するための仕様です。

プライバシーとデータ処理

本ツールに入力された正規表現パターンおよびテスト対象の文字列は、すべて利用者が使用しているウェブブラウザの内部でローカルに処理されます。データが外部のサーバーである BroBroGo にアップロードまたは送信されることはありません。


よくある質問(FAQ)

ここにテキストを貼り付けても安全ですか?

はい、安全です。マッチング処理はすべてお使いのブラウザ内で行われ、BroBroGo にデータが送信されることはありません。

g/i/m/s フラグの意味は何ですか?

「g」は最初の1つだけでなく、すべての一致を検出します。「i」は大文字と小文字を区別しません。「m」は「^」と「$」を文字列全体ではなく、各行の先頭と末尾に一致させます。「s」は「.」を改行文字にも一致させます。

「パターン処理に時間がかかりすぎています」と表示されたのはなぜですか?

一部のパターンは「破滅的なバックトラッキング(Catastrophic Backtracking)」を引き起こし、エンジンが膨大な組み合わせを試すことでブラウザのタブがフリーズすることがあります。このツールは、そのような場合に2秒後に処理をキャンセルするため、ページ自体がロックされるのを防ぎます。(a+)+ のようなネストされた繰り返しを単純化してみてください。