メインコンテンツへスキップ
Toolars
探索

JavaScript 正規表現テスター

JavaScript Regex Tester

JavaScript 正規表現をキャプチャグループ・正確なマッチ位置・置換プレビュー付きでテスト。重いパターンは Worker が保護。

タスクの道筋 / 入力から結果へ

パターンとフラグを入力する

バグを報告

端末内で処理

処理の詳細

ツールへの入力はこの端末で処理されます。

実行に必要なリソースをダウンロードする場合があります。アカウント機能は別のサービスです。

オフライン利用を準備しています…

プライバシーについて

タスクの道筋 / 入力から結果へ

JavaScript 正規表現をテストする方法

  1. 01

    パターンとフラグを入力する

    表示されたスラッシュの間に JavaScript パターン本体だけを最大 4,096 文字で入力し、必要なフラグにチェックを入れます。d、g、i、m、s、u、y にはそれぞれインラインの説明が付いています。重複フラグや互換性のない組み合わせは、具体的なエラーで拒否されます。ワークスペースは、名前付きグループで URL のプロトコル、ホスト、パスをキャプチャするサンプルパターン付きで開くため、動作する例から始められます。

  2. 02

    テスト文字列を貼り付ける

    テスト文字列エリアに最大 100,000 文字を貼り付けるか入力します。貼り付けはローカルで即座にチェックが走り、自動チェックがオンの場合、通常の入力は短い待機後に再実行されます。トグルをオフにすれば、Ctrl または Command + Enter、または実行ボタンでオンデマンドにチェックできます。各ラベル横のカウンターがパターンと文字列の長さを上限と照らして追跡します。

  3. 03

    一致箇所とキャプチャを確認する

    一致はテキスト内で直接強調表示され、ゼロ幅の一致はその位置にマーカーとして表示されます。結果セットは 1,000 件に制限され、上限に達すると明確な通知が出ます。一致を選択すると、正確な UTF-16 の開始・終了位置、すべての番号付きグループと名前付きグループ(参加しなかったグループを含む)を確認できます。前へ、次へ、Shift+F3、F3 で結果間を移動でき、サマリー行は一致数と実行時間(ミリ秒)を報告します。

  4. 04

    JavaScript の置換構文をプレビューする

    置換プレビュータブを開き、最大 20,000 文字の置換文字列で $1 や $<name> などの JavaScript 置換トークンを使います。プレビューはネイティブの String.replace の動作に正確に従い(一致に参加しなかったグループが何を挿入するかも含め)、元のテキストを一切変更しないため、元のログや文書を失わずに置換を繰り返し調整できます。

  5. 05

    高コストなパターンから安全に復帰する

    各テストは新しいローカル Worker で実行し、起動は5秒、実行は650ミリ秒に制限します。キャンセルは入力を保持して Worker と自動テストを停止します。編集すると古い結果を即座に消去します。コピーやダウンロードの前に再実行してください。時間や出力の上限に達したら、入力、キャプチャ、置換を減らして新しい Worker で再試行できます。

ツールの概要

処理
ブラウザー内で完結
入力の外部送信
なし
保存
一切保存しません
価格
無料

入力はブラウザに留まります。

JavaScript 正規表現テスター は検証済みのローカル実行パスを使用し、隠れた入力・出力履歴を作成しません。

ローカル実行

現在のブラウザタブ内で実行されます。

隠れた処理なし

使用中のツールデータが Toolars のドキュメントレコードになることはありません。

アカウント不要

プロフィールを作成せずにコアワークフローを使えます。お気に入りはログイン後にアカウントへ同期されます。

即時リセット

タブを閉じれば、作業中のデータは消えます。

JavaScript 正規表現テスター が実際に行うこと

数百行に及ぶアプリケーションログに URL が含まれ、リダイレクトルールを公開する前にそれらをすべて抽出する必要がある場面です。サンプルパターン——プロトコル、ホスト、パスの名前付きグループ——が出発点です。ログを貼り付け、各一致が正確な位置で強調されるのを確認し、個々の一致を開いてホストとパスのキャプチャを 1 行ずつ点検します。次に置換フィールドに $<protocol>://$<host> と入力し、プレビューが意図どおりパスを取り除くことを確認してから、検証済みのパターンをリダイレクトコードへコピーします。ログがタブを離れることはなく、内部ホスト名を含む場合に重要です。

よくある質問

どの正規表現方言に対応していますか?
このリリースは JavaScript RegExp エンジンのみに対応し、パターンが JavaScript コードとして出荷されたときの動作と一致します。PCRE、RE2、Rust regex、Python、Java、.NET との互換性は主張しません。これらは構文や挙動が異なる可能性があり、それらのエンジンから移植したパターンは再利用前にここで新たにテストする価値があります。
どのフラグが使え、それぞれ何が変わりますか?
ワークスペースは d、g、i、m、s、u、y を提供します。d は一致のインデックスを追加し、g はすべての一致を検索し、i は大文字小文字を無視し、m はアンカーを行ごとに一致させ、s はドットが改行をまたぐことを許し、u は Unicode 対応の意味論を有効にし、y は各試行を直前の位置に固定します。重複フラグと互換性のない組み合わせは拒否されます。対応ブラウザーの基準とテスト範囲を揃えるため、新しい v フラグはこのリリースでは公開しません。
入力制限はどのくらいですか?
パターンは4,096、入力は100,000、置換テンプレートは20,000 UTF-16コード単位までです。最初の1,000件のみ表示し、置換プレビューは上限内の全一致を反映します。置換結果と保持する一致・キャプチャ文字列はそれぞれ1,000,000 UTF-16コード単位まで、番号付き・名前付きキャプチャは合計20,000件までです。上限超過時はエラーとなり、部分的な結果をエクスポートしません。
破滅的バックトラッキングでページは固まりますか?
パターンの実行はインターフェースから隔離された専用 Worker 内で行われ、審査済みのタイムアウトは 650 ミリ秒です。タイムアウトした Worker は終了され再利用されないため、パターンが深刻にバックトラックしてもページは応答し続けます。これはページを保護しますが、あらゆる本番負荷でパターンが安全だと証明するものではありません。ここでのタイムアウトは、パターンを公開する前に対処すべき警告として扱ってください。
なぜパターンがエラーで失敗するのですか?
パターン本体を入力し、フラグは別に選択します。/abc/i を試すには abc を入力して i を選択してください。/abc/i をそのまま貼っても i フラグは有効になりません。スラッシュと文字 i を含む有効なパターンとして扱われるため、構文エラーではなく予想外の一致が生じる場合があります。無効な構文は JavaScript エンジンが報告します。修正して再実行してください。
パターンやテスト文字列は送信・保存されますか?
いいえ。一致処理、グループ抽出、置換プレビュー、コピー準備、検証はブラウザー内で行われます。生のパターン、テキスト、置換、結果は URL、分析、ログ、リモート要求、ブラウザーストレージに入りません。ワークスペースをクリアすれば破棄されます。

あわせて読む

行き止まりではなく、関連タスクへ。

完全な索引に戻らずに、別のフォーカスされたワークスペースへ移動できます。

URL 作業ツール

URL Workbench

署名付きリンクを保護して URL 一覧を整理。変更理由を行ごとに表示し、構成比較と Sitemap 出力に対応。

編集

JSON 検索と展開

JSON Explorer

JSONPath で検索・抽出し、JSON Pointer 形式を復元。大きな数値の精度を保持。

確認

JSON Schema 検証

JSON Schema Validator

Draft 7 と 2020-12 をローカル検証。エラー位置を示し、複数サンプルからスキーマを推定。

確認

HTML 公開用整理

HTML Publishing

貼り付けた HTML を公開用に整理。リスト・リンク・表の意味を保持し、安全にプレビュー。

公開