正規表現テスター|一致・キャプチャ・置換結果を確認

開発者ツール

区切りの / とフラグは付けずに入力してください。すべての一致を検索します。

フラグ

正規表現とテストする文字列を入力してください。

このツールでできること

JavaScriptの正規表現をテキストに適用し、一致件数、開始・終了位置、完全一致、番号付き・名前付きキャプチャ、置換結果、構文エラーを確認できます。正規表現の動作や置換記法を、ブラウザ上で試したいときに使えます。

一致内容はプレーンテキストの一覧で表示され、置換結果が空でなければその全文をコピーできます。

使い方

  1. 正規表現を/.../gではなく、区切りとフラグを除いたパターン本体だけで入力します。
  2. 必要に応じてi(大文字・小文字を区別しない)、m(^と$を各行に適用)、s(.を改行にも一致)、u(Unicodeモード)を選びます。全件検索のgは常に有効です。
  3. 必須のテスト文字列と、任意の置換文字列を入力します。置換文字列を空欄にすると、一致箇所を削除します。
  4. 「テストする」を押し、一致内容と置換結果を確認します。
  5. 置換結果が空でない場合は、必要に応じてコピーします。

入力例・出力例

パターン欄に[0-9]+、テスト文字列欄にID12 number34を入力すると、12と34の2件が一致します。0始まりの位置はそれぞれ「2 ~ 4」と「11 ~ 13」です。

置換文字列を[$&]にすると、置換結果はID[12] number[34]になります。

よくある利用場面

  • JavaScript正規表現の一致箇所とキャプチャを確認するとき
  • 置換文字列の$1や名前付きキャプチャを試すとき
  • 構文エラーやフラグによる一致結果の違いを調べるとき

処理仕様

  • JavaScript標準のRegExpを使用します。
  • パターンとテスト文字列は必須です。パターン欄の実改行もパターンの一部として扱い、アプリ独自の改行変換は行いません。
  • 各一致には1始まりの番号、0始まりの開始・終了位置、完全一致、番号付き・名前付きキャプチャを表示します。空文字のキャプチャは「(空文字)」、参加しなかったキャプチャは「(不一致)」と区別します。
  • 一致位置はJavaScript文字列のUTF-16コード単位です。絵文字などでは、画面上の文字数と位置の数え方が異なる場合があります。
  • 一致一覧は先頭1000件まで表示し、超過時はその旨を案内します。この上限は一覧表示だけに適用され、置換結果はテスト文字列全体に対して生成します。
  • 置換文字列では$&で一致全体、$1などで番号付きキャプチャ、$<name>で名前付きキャプチャ、$$で$を挿入できます。空欄にすると一致箇所を削除します。
  • 入力したHTML風文字列、実改行、文字としての\n、正規表現に必要なバックスラッシュを独自に変換せず、結果もHTMLとして解釈しません。
  • 不正な正規表現では固定の案内とブラウザが返した詳細を表示します。JavaScript以外の正規表現方言固有の構文には対応せず、正規表現の安全性判定も行いません。
  • 複雑な正規表現や非常に長い入力では、バックトラッキングによりブラウザの応答が一時的に遅くなる場合があります。1000件の表示上限はReDoSを防止するものではありません。

入力データについて

入力した正規表現、テスト文字列、置換文字列、結果はブラウザ内だけで処理され、ToolRollのサーバーや外部サービスへ送信されません。外部ライブラリ、Cookie、Web Storage、IndexedDBは使用しません。

「置換結果をコピー」を押したときだけ、ブラウザのクリップボード機能へ置換結果を渡します。