立ち上げたもの

Jivaro は、2024 年 8 月に RegexWizard という名前でこのツールを初めて公開しました。当初の前提は控えめなものでした。正規表現を入力し、サンプル テキストを貼り付け、何が一致したかを簡単に確認できる場所をユーザーに提供するというものでした。これで実際の問題は解決されましたが、信頼性の高い正規表現の最初の層についてしか説明していませんでした。

1 つのサンプルに一致するパターンでも、エッジ ケースで失敗したり、間違った境界をキャプチャしたり、破壊的な置換を生成したり、敵対的な入力で CPU を過剰に消費したりする可能性があります。現在の Regex テスター & 置換ツール は、正規表現を、フォーラムや信頼からコピーする句読点としてではなく、検査およびテストする必要がある実行可能ロジックの小さな部分として扱います。

検査可能な正規表現が重要な理由

正規表現は、驚くほど多くの動作を短い文字列に圧縮します。アンカーは試合が開始される場所を変更します。量指定子は、トークンが消費するテキストの量を変更します。グループ化すると、優先順位と返されるデータの両方が変更されます。フラグは、大文字と小文字、行、およびグローバルの動作を変更します。間違ったルールをエンコードすると、パターンがもっともらしく見える可能性があります。

したがって、デザイン上の重要な選択は視認性です。有能なテスターは、一致する スパンが 、どのグループがキャプチャされたのか、 置換によってテキストがどのように変更されるか、 既知の例が を通過するかどうかを明らかにする必要があります。これによりフィードバック ループが短縮され、デバッグが推測から観察に変わります。

マッチビュー正確な境界を確認する

強調表示されたスパンは、貪欲な一致、アンカーの欠落、および予期しない重複を明らかにします。

Groupsキャプチャしたデータを検査する

番号と名前が付けられたグループは、下流のコードが実際に何を受け取るかを明らかにします。

Replace変更前のプレビュー

置換出力は、本番テキストまたはファイルに適用される前に表示されます。

現在のワークフロー

現在のアプリは、起動バージョンよりも完全なワークベンチです。これは、ライブ JavaScript マッチングとキャプチャ グループ検査、置換プレビュー、再利用可能なプリセット、ローカル パターン履歴、テスト ケース、エクスポート ツールを組み合わせたものです。これらのステージが 1 つのコンテキストを共有するため、この機能セットはまさに役立ちます。

Authorパターンとフラグ

JavaScript 式を構築し、グローバル、大文字と小文字、複数行、dotAll、Unicode、およびスティッキー動作を調整します。

Inspect試合とグループ

実際のサンプル データに対して、一致したスパンと番号付きまたは名前付きのキャプチャを確認します。

Transform置換プレビュー

他の場所に変更をコミットすることなく、置換をテストして参照をキャプチャします。

Verifyユニットスタイルの例

一致する必要がある入力または失敗する入力を記録し、後で編集することで予期される動作が壊れることがないようにします。

Reuseプリセットと履歴

有用なパターンをローカルに保存し、メモリから再構築することなく最近の作業に戻ります。

Export試合と結果

レビューや下流の作業のために、試合データを実用的な形式でコピーまたはエクスポートします。

Regex Tester を開き、置換ツールを開くオープンコードプレイグラウンド

より安全な正規表現テスト方法

1ルールを定義する

構文を記述する前に、ビジネス条件を平易な言葉で記述します。

2代表的なデータを追加する

有効な例、無効な例、空の例、長い例、および不正な形式の例を含めます。

3境界を検査する

一致が存在するかどうかだけでなく、完全な一致とすべてのキャプチャ グループを確認します。

4テスト置換

繰り返しフィールドとオプションのフィールドを含むデータに対する置換をプレビューします。

5ストレスと振り返り

信頼できない入力を使用する前に、長い敵対的文字列を試してパフォーマンスを確認してください。

テストスイートでカバーすべき内容の例
Caseなぜそれが重要なのか故障信号
予想される試合通常のルールを確認します一致しない、または間違ったキャプチャ
ニアミスパターンが許容的すぎるかどうかをテストします無効な入力は受け入れられます
境界ケースアンカー、セパレータ、および Unicode をチェックします部分一致またはシフト一致
長い入力過剰な後戻りを暴露するレイテンシの大幅な増加またはブラウザの停止
交換用ケースキャプチャ参照とオプションのグループを検証します。削除、重複、または不正な出力

制限とセキュリティ

このツールは、ブラウザの JavaScript 正規表現エンジンをテストします。ここで機能するパターンは、Python、PCRE、.NET、Java、Rust、またはデータベース エンジンでは異なる動作をする可能性があります。移植性は、パターンを実行する正確なランタイムに対して検証する必要があります。

パフォーマンスにも別途注目する必要があります。一部の入れ子になった数量指定子やあいまいな変更は、一般に ReDoS と呼ばれるサービス拒否リスクの一種である壊滅的なバックトラッキングを引き起こす可能性があります。ライブフィードバックや長時間入力のテストは警告の兆候を明らかにする可能性がありますが、正式な複雑さの証明にはなりません。信頼できない入力を処理するアプリケーションでは、慎重なパターン設計とタイムアウト、入力制限、およびセキュリティのレビューを組み合わせる必要があります。

実際的なルール: 明確に境界のあるパターンを処理するには正規表現を使用します。入力にネストされた文法、複雑な状態、またはセキュリティクリティカルな意味が含まれている場合、多くの場合、パーサーまたは専用のバリデーターを推論する方が簡単です。

2024年から何が変わったのか

2024 年の発表では、このプロジェクトを正規表現に怯えている人々のためのフレンドリーなテスト ページとして位置づけました。 2026 年の製品はより厳格です。即時のフィードバックは保持されますが、証拠、回帰ケース、置換レビュー、再利用、エクスポートといったパターンに沿ったワークフローがサポートされるようになりました。

名前の変更は同じシフトの一部です。 「Regex Tester & Replace Tool」は RegexWizard よりも意図的に賢くありませんが、検索、ナビゲーション、およびアクセシビリティのコンテキストにおいてははるかに便利です。ブランドの知識を必要とせずに仕事を説明します。

よくある質問

アプリはテストテキストをサーバーに送信しますか?

現在のツールは、ローカル ブラウザー処理用に設計されています。機密性の高いマテリアルは、組織のポリシーとブラウザのセキュリティ要件に従って処理する必要があります。

どの正規表現エンジンが使用されますか?

JavaScript 正規表現をテストするため、動作は PCRE、.NET、Python、または別の正規表現ではなく、ブラウザーの JavaScript エンジンに従います。

ReDoS を防ぐことができるでしょうか?

すべてのパターンが安全であることを証明できるツールはありません。ワークベンチは動作の公開に役立ち、テスト ケースをサポートしますが、信頼できない入力に対して使用されるパターンには依然としてパフォーマンスのレビューと防御制限が必要です。

RegexWizard の名前が変更されたのはなぜですか?

Jivaro は機能優先のアプリ名に移動しました。 「Regex Tester & Replace Tool」は、アプリケーションを開く前にアプリケーションが何を行うかをユーザーに通知します。

関連するJivaroアプリ

開発者ツール正規表現テスターと置換ツール

分離されたWorkerでJavaScript正規表現をテストし、キャプチャグループの確認、置換プレビュー、テストケース実行、各言語向けコード断片のコピーをローカルで行えます。

アプリを開く
開発者ツールHTML、CSS & JavaScript 遊び場

CodeMirrorエディター、絞り込み可能なコンソール、レスポンシブプレビューを使って、HTML、CSS、JavaScriptの作成、確認、デバッグ、検索、保存、書き出しができます。

アプリを開く
ライティングとテキストテキストおよびデータ形式コンバーター

JSON、YAML、XML、CSV、TSV、NDJSON、Markdown、HTML、BBCode、URL、Base64、プレーンテキストをブラウザー内で直接整形・変換します。

アプリを開く

出典と参考文献