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

Edge Security Acceleration:演算子とグループ化記号

最終更新日:Jul 02, 2026

ルール式では、比較演算子でリクエストの値を照合し、論理演算子で条件を結合します。

比較演算子

比較演算子は、リクエストの値を、式で指定された値と比較します。

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 互換) と一致するかどうかをチェックします。

説明

正規表現は、[Premium][Enterprise] プランでのみ使用できます。

  • 演算子名: 正規表現に一致する

  • 値のタイプ: 文字列

  • 例:

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

not...matches

リクエストの値が、指定された正規表現 (PCRE 互換) と一致しないかどうかをチェックします。

説明

正規表現は、[Premium][Enterprise] プランでのみ使用できます。

  • 演算子名: 正規表現に一致しない

  • 値のタイプ: 文字列

  • 例:

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

in

リクエストの値が、指定された配列内のいずれかの値と一致するかどうかをチェックします。$ 記号でリストを参照します。

  • 演算子名: いずれかに合致

  • 値のタイプ: 配列

  • 例:

    (http.host in {"www.example.com" "blog.example.com"})

    ( ip.src in $<LIST_NAME>)

not...in

リクエストの値が、指定された配列内のいずれの値とも一致しないかどうかをチェックします。$ 記号でリストを参照します。

  • 演算子名: いずれにも合致しない

  • 値のタイプ: 配列

  • 例:

    (not http.host in {"www.example.com" "blog.example.com"})

    (not ip.src in $<LIST_NAME>)

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

リクエストの値が、指定された数値以下であるかどうかをチェックします。

  • 演算子名: 以下

  • 値のタイプ: 整数

  • 例:

    (ip.geoip.asnum le 45104)

ge

リクエストの値が、指定された数値以上であるかどうかをチェックします。

  • 演算子名: 以上

  • 値のタイプ: 整数

  • 例:

    (ip.geoip.asnum ge 45104)

lt

リクエストの値が、指定された数値より小さいかどうかをチェックします。

  • 演算子名: より小さい

  • 値のタイプ: 整数

  • 例:

    (ip.geoip.asnum lt 45104)

gt

リクエストの値が、指定された数値より大きいかどうかをチェックします。

  • 演算子名: より大きい

  • 値のタイプ: 整数

  • 例:

    (ip.geoip.asnum gt 45104)

len eq

リクエストの値の長さが、指定された数値と等しいかどうかをチェックします。

  • 演算子名: 長さが等しい

  • 値のタイプ: 文字列

  • 例:

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

len gt

リクエストの値の長さが、指定された数値より大きいかどうかをチェックします。

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

  • 値のタイプ: 文字列

  • 例:

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

len lt

リクエストの値の長さが、指定された数値より小さいかどうかをチェックします。

  • 演算子名: 長さがより小さい

  • 値のタイプ: 文字列

  • 例:

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

exists

指定されたフィールドまたは属性がリクエストに存在するかどうかをチェックします。

  • 演算子名: 存在する

  • 値のタイプ: 文字列

  • 例:

    (exists(http.request.headers["user-agent"]))

not exists

指定されたフィールドまたは属性がリクエストに存在しないかどうかをチェックします。

  • 演算子名: 存在しない

  • 値のタイプ: 文字列

  • 例:

    (not exists(http.request.headers["user-agent"]))

その他の演算子

lower

大文字と小文字を区別しない照合のために、リクエストの値を小文字に変換します。

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

  • 値のタイプ: 文字列

  • 例:

    (lower(http.request.uri))

論理演算子

論理演算子は、複数の式を結合して 複合式 を作成します。

not

式の結果を否定し、true と false を反転させます。

  • 演算子名: 論理 NOT

  • 例:

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

and

結合したすべての式が true の場合にのみ true を返します。

  • 演算子名: 論理 AND

  • 例:

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

or

結合された式のいずれかが true の場合に true を返します。

  • 演算子名: 論理 OR

  • 例:

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

グループ化記号

丸かっこ () で式の部分をグループ化し、評価順序を制御します。

グループ化記号は、式エディターと ESA API でサポートされていますが、式ビルダーではサポートされていません。

ネストされた式の例:

(http.host eq "www.example.com" and ((http.referer in {"download.example.com"}) or (http.referer in {"image.example.com"})))