すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:マッチ演算子

最終更新日:Dec 04, 2025

ルール内のマッチ演算子には、比較演算子と論理演算子が含まれます。ルール間で 10 種類以上の比較演算子と論理演算子を使用して、さまざまなルール式を構築できます。

比較演算子

比較演算子は、リクエスト内の入力値を式で設定された値と比較するために使用されます。

eq

リクエストの入力値がマッチ値と等しいことを示します。

  • 演算子名: 等しい

  • 一致値の型: 文字列

  • 例:

    (http.host eq "www.example.com")

ne

リクエストの入力値がマッチ値と等しくないことを示します。

  • 演算子名: 等しくない

  • 一致値の型: 文字列

  • 例:

    (http.host ne "www.example.com")

contains

リクエストの入力値に特定の文字列が含まれることを示します。

  • 演算子名: 含まれる

  • 一致値の型: 文字列

  • 例:

    (http.host contains "example.com")

not...contains

リクエストの入力値に特定の文字列が含まれないことを示します。

  • 演算子名: 含まれない

  • 一致値の型: 文字列

  • 例:

    (not http.host contains "example.com")

matches

リクエストの入力値が特定の正規表現に準拠していることを示します。PCRE (Perl 互換正規表現) と互換性があります。

説明

正規表現は Premium プランと Enterprise プランでのみサポートされています。

  • 演算子名: 指定された正規表現に一致する

  • 一致値の型: 文字列

  • 例:

    (http.host <b>matches</b> "(www|blog)\.example\.com")

not...matches

リクエストの入力値が特定の正規表現に準拠していないことを示します。PCRE と互換性があります。

説明

正規表現は Premium プランと Enterprise プランでのみサポートされています。

  • 演算子名: 指定された正規表現に一致しない

  • 一致値の型: 文字列

  • 例:

    (not http.host matches "(www|blog)\.example\.com")

in

リクエストの入力値に 1 つ以上のプリセットされた一致値が含まれることを示します。また、 $ を併用してグルーピングを実装することもできます。

  • 演算子名: 次のいずれかの項目を含む

  • 一致値の型: 配列

  • 例:

    (http.host in {"www.example-1.com" "www.example-2.com"})

    ( ip.src in $<LIST_NAME>)

not...in

リクエスト内の入力値に、事前設定されたすべての一致値が含まれていないことを示します。また、$ を併用してグループ化を実装することもできます。

  • 演算子名: 次の項目をいずれも含まない

  • 一致値の型: 配列

  • 例:

    (not http.host in {"www.example-1.com" "www.example-2.com"})

    (<b data-tag="code">not</b> ip.src <b data-tag="code">in</b> <b data-tag="code">$</b><span style="color:rgb(56, 56, 56)"><LIST_NAME></span>)

starts_with

リクエストの入力値の先頭が、プリセットされたマッチ値と一致することを示します。

  • 演算子名: で始まる

  • 一致値の型: 文字列

  • 例:

    (starts_with(http.host, "blog"))

not starts_with

リクエストの入力値の先頭が、プリセットされたマッチ値と一致しないことを示します。

  • 演算子名: で始まらない

  • 一致値の型: 文字列

  • 例:

    (not starts_with(http.host, "blog"))

ends_with

リクエストの入力値の末尾が、プリセットされたマッチ値と一致することを示します。

  • 演算子名: で終わる

  • 一致値の型: 文字列

  • 例:

    (ends_with(http.host, "cn"))

not ends_with

リクエストの入力値の末尾が、プリセットされたマッチ値と一致しないことを示します。

  • 演算子名: で終わらない

  • 一致値の型: 文字列

  • 例:

    (not ends_with(http.host, "cn"))

le

リクエストの入力値が、プリセットされたマッチ値以下であることを示します。

  • 演算子名: 以下

  • 一致値の型: int

  • 例:

    (ip.geoip.asnum le 45104)

ge

リクエストの入力値が、プリセットされたマッチ値以上であることを示します。

  • 演算子名: 以上

  • 一致値の型: int

  • 例:

    (ip.geoip.asnum <b>ge</b> 45104)

lt

リクエストの入力値が、プリセットされたマッチ値より小さいことを示します。

  • 演算子名: 未満

  • 一致値の型: int

  • 例:

    (ip.geoip.asnum <b>lt</b> 45104)

gt

リクエストの入力値が、プリセットされたマッチ値より大きいことを示します。

  • 演算子名: より大きい

  • 一致値の型: int

  • 例:

    (ip.geoip.asnum gt 45104)

len eq

リクエストの入力値の長さが、プリセットされたマッチ値と等しいことを示します。

  • 演算子名: 長さ等しい

  • 一致値の型: 文字列

  • 例:

    (len(http.request.cookies["session"]) eq 330688)

len gt

リクエストの入力値の長さが、プリセットされたマッチ値より大きいことを示します。

  • 演算子名: 長さより大きい

  • 一致値の型: 文字列

  • 例:

    (<b>len</b>(http.request.cookies["session"]) <b>gt</b> 330688)

len lt

リクエストの入力値の長さが、プリセットされたマッチ値より小さいことを示します。

  • 演算子名: 長さ未満

  • 一致値の型: 文字列

  • 例:

    (<b>len</b>(http.request.cookies["session"]) <b>lt </b>330688)

exists

リクエストにプリセットされた値が存在することを確認します。

  • 演算子名: exists

  • 一致値の型: 文字列

  • 例:

    (exists(http.request.headers["User-Agent"]))

not exists

リクエストにプリセットされた値が存在しないことを確認します。

  • 演算子名: 存在しない

  • 一致値の型: 文字列

  • 例:

    (not exists(http.request.headers["User-Agent"]))

その他の演算子

lower

リクエスト値の大文字と小文字を区別しないように、入力値の文字を小文字に変換します。

  • 演算子名: 大文字と小文字を区別しない

  • 一致値の型: 文字列

  • 例:

    (lower(http.request.uri))

論理演算子

論理演算子は、複数の式を 複合式に結合するために使用されます。

not

式に対して論理 NOT 演算子を実行します。

  • 演算子名: 論理 NOT

  • 例:

    not (http.host )

and

リクエストが 2 つ以上の式を満たす必要があることを示します。

  • 演算子名: 論理 AND

  • 例:

    (http.host eq "www.example.com" and ip.geoip.country eq "CN")

or

リクエストがプリセットされた式のいずれか 1 つを満たすだけでよいことを示します。

  • 演算子名: 論理 OR

  • 例:

    (http.host eq "www.example.com") or (ip.geoip.country eq "CN")