URLマッチパターン
概要
マッチパターンは、URLのグループを指定する方法です。マッチパターンは、特定のURLセットを一致させます。
マッチパターン構造
すべてのマッチパターンは、文字列として指定されます。 マッチパターンは、3つの部分で構成されています。 スキーム、ホスト 、パス. スキームとホストは、://で区切られています。
<スキーム>://<ホスト><パス>
スキーム
スキームコンポーネントは、httpまたはhttpsのいずれかになります。
ホスト
ホストコンポーネントは、次の3つの形式のいずれかを取ることができます。
フォーム | 一致 |
* | 任意のホスト |
*. ホスト名の一部が続きます | 指定されたホストとそのサブドメインのいずれか。 |
ワイルドカードのない完全なホスト名 | 指定されたホストのみ。 |
ホストには、ポート番号を含むことはできません。
*ワイルドカードは、開始点にのみ表示できます。
パス
パスコンポーネントは、/で始まる必要があります。
その後、*ワイルドカードと、URLパスまたはクエリ文字列で許可されている文字のいずれかの組み合わせを含むことができます。 また ホストとは異なり、パスコンポーネントは、中間または末尾に*ワイルドカードを含むことができ、*ワイルドカードは複数表示できます。
パスの値は、URLパスである文字列とURLクエリ文字列と一致します. クエリ文字列がURLに表示されている場合、 2つの間に?を含みます。
例えば、URLパスの末尾がfoo.barで終わるドメインのURLを一致させたい場合、['*://*/*foo.bar', '*://*/*foo.bar?*']のようなマッチパターンの配列を使用する必要があります。URLパスの一部ではなく、URLクエリ文字列に適用するエンディング*を固定するために、単なるバー*ではなく、?*が必要です。
URLフラグメント識別子も、それ以前の#も、パスの一部とはみなされません。
例
パターン | 一致する例 | 一致しない例 |
https://*/path パスが「パス」であるホストのHTTPS URLを一致させます。 |
https://mozilla.org/path https://a.mozilla.org/path https://something.com/path |
http://mozilla.org/path (マッチしないスキーム)https://mozilla.org/path/ (マッチしないパス)https://mozilla.org/a (マッチしないパス) https://mozilla.org/ https://mozilla.org/path?foo=1 |
https://*/path/ パスが「パス/」であり、URLクエリ文字列がないホストのHTTPS URLを一致させます。 |
https://mozilla.org/path/ https://a.mozilla.org/path/ https://something.com/path/ |
http://mozilla.org/path/ (一致しないスキーム)https://mozilla.org/path (マッチしないパス)https://mozilla.org/a (マッチしないパス) https://mozilla.org/ https://mozilla.org/path/?foo=1 |
https://mozilla.org/* URLパスとURLクエリ文字列のある「mozilla.org」でのみ、HTTPS URLを一致させます。 |
https://mozilla.org/ https://mozilla.org/path https://mozilla.org/another https://mozilla.org/path/to/doc https://mozilla.org/path/to/doc?foo=1 |
http://mozilla.org/path (マッチしないスキーム)https://mozilla.com/path (マッチしないホスト) |
https://mozilla.org/a/b/c/ このURL、またはURLフラグメントのあるこのURLのみを一致させます。 |
https://mozilla.org/a/b/c/ https://mozilla.org/a/b/c/#section1 |
その他。 |
https://mozilla.org/*/b/*/ パスが、真ん中のどこかにコンポーネント「b」を含む、「mozilla.org」でホストされているHTTPS URLを一致させます。 文字列が/で終わる場合、クエリ文字列を持つURLと一致します。 |
https://mozilla.org/a/b/c/ https://mozilla.org/d/b/f/ https://mozilla.org/a/b/c/d/ https://mozilla.org/a/b/c/d/#section1 https://mozilla.org/a/b/c/d/?foo=/ https://mozilla.org/a?foo=21314&bar=/b/&extra=c/ |
https://mozilla.org/b/*/ (一致しないパス)https://mozilla.org/a/b/ (一致しないパス)https://mozilla.org/a/a/b/c/d/?foo=bar (URLクエリ文字列により一致しないパス) |
無効なマッチパターン
無効なパターン | 理由 |
resource://path/ | サポートされていないスキーム。 |
https://mozilla.org | パスなし。 |
https://mozilla.*.org/ | ホストの「*」は、開始点にある必要があります。 |
https://*zilla.org/ | ホストの「*」は、唯一の文字であるか、その後に[.]が続く必要があります。 |
http*://mozilla.org/ | スキームの「*」は、唯一の文字である必要があります。 |
https://mozilla.org:80/ | ホストには、ポート番号を含むことはできません。 |
https://* | 空のパス:は、「https://*/*」である必要があります。 |
URLマッチパターンとRegexステートメント
WalkMeは、拡張機能設定の2つのオプションを提供します(URLマッチパターンとRegex)。 各オプションには独自の利点があり、以下の両ツールの概要です。
RegexとURLマッチパターンとは何ですか?
URLマッチパターンは、ブラウザ拡張機能にどのウェブページが動作するかを伝える方法です。 特別な構文を使用して、拡張機能が適用されるURLを指定します。 URLにマッチするパターンを定義する方法です。 これらのパターンは、コンテンツスクリプトや背景スクリプトなどの機能を適用する際に、拡張機能がどのウェブページと対話すべきかを決定するために使用できます。 URLマッチパターンは、遭遇するURLに基づいてブラウザ拡張機能の動作を制御する特定の目的のために設計されています。
Regex(正規表現) regexやregexpと略されることが多いのは、検索パターンを定義する強力な文字シーケンスです。 文字列内でパターンマッチングに使用され、特定のパターンの検索、情報の抽出、テキストの一部を置き換えるなどのタスクを実行できます。 Regexは、テキスト処理、データ検証、さまざまなプログラミングタスクで広く使用されている汎用性の高いツールです。
比較
URLマッチパターン | Regex | |
目的 | ウェブブラウザ用に作成され、最適化されて、ブラウザ拡張機能またはアプリケーションに適用すべきURLを定義します。 | 文字列でパターンマッチングする強力なツール。 文字とメタ文字の組み合わせを使用して検索パターンを定義できます。 |
使用法 | ブラウザの拡張機能によって、コンテンツスクリプトやバックグラウンドスクリプトなど、どのウェブページを操作するかを指定します。 | テキスト処理、データ検証、検索と置換操作など、幅広いアプリケーションで使用できます。 |
構文 | URLマッチパターンは、「*」や「?」などのワイルドカード文字を含む特定の構文を使用して、URLのパターンを指定します。 | Regexパターンは、「.」(任意の文字にマッチする)、「*」(ゼロ以上の発生にマッチする)、「+」(1つ以上の発生にマッチする)などのメタキャラクタを含む特定の構文を使用して表現されます。 |
例 | パターンhttps://example.com/*は、https://example.com/で始まるURLにマッチします。 | このregex ^(http|https)://example\.com(?:/[^/?#]+)*$は、ドメインexample.comに属するURLにマッチします。 |
長所と短所
URLマッチパターン | Regex | |
長所 |
URLマッチングのシンプルさ:マッチングURLのために特別に設計されており、この目的のために直感的で使いやすいです。 理解しやすい:URLマッチパターンは、複雑なregexと比較して、より読みやすく簡単な傾向があります。 ブラウザ拡張機能用に構築:URLマッチパターンを使用することは、拡張機能がインタラクションするURLを指定するための推奨され標準的な方法です。 |
一般目的:非常に汎用性が高く、URLだけでなく、パターンマッチングタスクの広い範囲に使用できます。 テキスト処理と操作のための強力なツールです。 豊富な構文:非常に正確なパターンマッチングと操作を可能にする豊富なメタキャラクタと表現を提供します。 パターンの柔軟性:URL構造を超える複雑なパターンを扱うことができます。 これには、特定の文字、シーケンス、または文字セットが含まれます。 |
短所 |
URLマッチングに限定:マッチングURLに固有であり、汎用パターンマッチングタスクには適していません。 複雑さの欠如:豊富な機能セットと正規表現の柔軟性が欠けています。 URL構造を超えて複雑なパターンマッチングを必要とするタスクには適していません。 すべてのアプリケーションに適しているわけではありません:ウェブブラウザの拡張機能のために特別に調整されています。 このスコープ以外のタスクに取り組んでいる場合、関連しない可能性があります。 |
複雑さ:複雑な正規表現を書くことは困難でエラーが発生しやすい場合があります。 構文をマスターするには時間がかかる場合があります。 パフォーマンスのオーバーヘッド:非常に複雑なregexパターンは、特に大きな入力では深刻なパフォーマンスに影響を及ぼす可能性があります。 可読性:複雑なregexパターンは読みやすく、理解するのが難しく、メンテナンスとデバッグを困難にします。 |
公式WalkMeステートメント
ユースケースで許可されている場合は、WalkMeは拡張機能設定にURLマッチパターンを使用することをお勧めします。 エッジケースがあるときの最後の手段としてRegexを考えます。 URLマッチパターンは、シームレスな拡張機能を保証し、裏側にあるルール検証を最小限に抑え、より良いユーザーエクスペリエンスを提供します。
URLマッチパターンは、管理センターの拡張機能設定で新しいシステム設定のデフォルトツールとして設定されています。