コンテント・スクリプトが適用されるURLは、マッチパターンにより定義される。マニフェストの content_scripts セクションにある matches に1つ以上のマッチパターンを記述することが出来る。このページでは、どのURLにコンテント・スクリプトを適用させるかを指定するために必要なマッチパターンの文法を説明する。
マッチパターンは本質的に http、https、file、ftp などで始まるURLであり、”*” を含めることが出来る。マッチパターンはいずれも、次の3つの部分から成る。
基本的な文法は次の通り。
<url-pattern> := <scheme>://<host><path>
<scheme> := 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
この時 “*” が何を意味するかは、記述された場所がホスト部分か、パス部分かによって変わってくる。
もしホストが単に “*” と書かれていれば、それは全てのホストとマッチすることを意味する。
もしホストが “*.hostname” であれば、それは hostname もしくはそのサブドメイン全てとマッチする。
パス部分であれば、”*” はゼロ文字以上のあらゆる文字列にマッチする。
httpで始まるどんなURLともマッチする。
(“http://www.google.com/“、“http://gmail.com/inbox” など)
httpで始まり、パスがfooで始まる全てのURLにマッチする。
(“http://example.org/foo/bar.html” など)
httpsで始まり、google.comホストにある、fooで始まりbarで終わるURLにマッチする。
(“https://www.google.com/foo/baz/bar“、“https://google.com/foobar” など)
完全に合致するURLのみマッチする。
(“http://example.org/foo/bar.html”)
fooで始まる全てのローカルファイルにマッチする。
(“file:///foo/bar.html“、“file:///foo” など)
ホストが 127.0.0.1 である全てのURLにマッチする。
(“http://127.0.0.1/“、“http://127.0.0.1/foo/bar.html” など)
パスの記述が無い。
ホスト部分の “*” の次には “.” もしくは “/” しか来ることが出来ない。
ホスト部分に “*” を記述できるのは、その先頭部分だけである。
スキームの区切り文字が抜けている。(”/” は “//” でなくてはならない)
スキームが間違っている。