全部產品
Search
文件中心

Edge Security Acceleration:匹配運算子

更新時間:Dec 03, 2025

規則中的匹配運算子主要包含了比較子和邏輯運算子兩種類型。通過十餘種比較子、規則間的邏輯運算子,協助您構建出豐富的規則運算式。

比較子

比較子用於將請求傳入值和運算式中配置的值進行比較。

eq

表示請求傳入值與匹配值相等。

  • 運算子名稱:等於

  • 匹配的實值型別:String

  • 使用樣本:

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

ne

表示請求傳入值與匹配值不相等。

  • 運算子名稱:不等於

  • 匹配的實值型別:String

  • 使用樣本:

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

contains

表示請求傳入值中包含特定字串。

  • 運算子名稱:包含

  • 匹配的實值型別:String

  • 使用樣本:

    (http.host contains "example.com")

not...contains

表示請求傳入值中不包含特定字串。

  • 運算子名稱:不包含

  • 匹配的實值型別:String

  • 使用樣本:

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

matches

表示請求傳入值符合特定的Regex,相容PCRERegex標準。

說明

PremiumEnterprise套餐支援Regex。

  • 運算子名稱:與Regex匹配

  • 匹配的實值型別:String

  • 使用樣本:

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

not...matches

表示請求傳入值不符合特定的Regex,相容PCRERegex標準。

說明

PremiumEnterprise套餐支援Regex。

  • 運算子名稱:與Regex不匹配

  • 匹配的實值型別:String

  • 使用樣本:

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

in

表示請求傳入值中有一個或多個設定匹配值。同時您可以結合使用$實現分組。

  • 運算子名稱:等於其中任意一個

  • 匹配的實值型別:Array

  • 使用樣本:

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

    ( ip.src in $<LIST_NAME>)

not...in

表示請求傳入值中不包含所有的設定匹配值。同時您可以結合使用$實現分組。

  • 運算子名稱:不等於其中任意一個

  • 匹配的實值型別:Array

  • 使用樣本:

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

    (not ip.src in $<LIST_NAME>)

starts_with

表示請求傳入值的開頭符合設定的匹配值。

  • 運算子名稱:開頭為

  • 匹配的實值型別:String

  • 使用樣本:

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

not starts_with

表示請求傳入值的開頭不符合設定的匹配值。

  • 運算子名稱:開頭不為

  • 匹配的實值型別:String

  • 使用樣本:

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

ends_with

表示請求傳入值的結尾符合設定的匹配值。

  • 運算子名稱:結尾為

  • 匹配的實值型別:String

  • 使用樣本:

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

not ends_with

表示請求傳入值的結尾不符合設定的匹配值。

  • 運算子名稱:結尾不是

  • 匹配的實值型別:String

  • 使用樣本:

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

le

表示請求傳入值小於或等於設定的匹配值。

  • 運算子名稱:小於或等於

  • 匹配的實值型別:int

  • 使用樣本:

    (ip.geoip.asnum le 45104)

ge

表示請求傳入值的大於或等於設定的匹配值。

  • 運算子名稱:大於或等於

  • 匹配的實值型別:int

  • 使用樣本:

    (ip.geoip.asnum ge 45104)

lt

表示請求傳入值的小於設定的匹配值。

  • 運算子名稱:小於

  • 匹配的實值型別:int

  • 使用樣本:

    (ip.geoip.asnum lt 45104)

gt

表示請求傳入值的大於設定的匹配值。

  • 運算子名稱:大於

  • 匹配的實值型別:int

  • 使用樣本:

    (ip.geoip.asnum gt 45104)

len eq

表示請求傳入值的長度等於設定的匹配值。

  • 運算子名稱:長度等於

  • 匹配的實值型別:String

  • 使用樣本:

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

len gt

表示請求傳入值的長度大於設定的匹配值。

  • 運算子名稱:長度大於

  • 匹配的實值型別:String

  • 使用樣本:

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

len lt

表示請求傳入值的長度小於設定的匹配值。

  • 運算子名稱:長度小於

  • 匹配的實值型別:String

  • 使用樣本:

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

exists

判斷請求是否存在設定值。

  • 運算子名稱:存在

  • 匹配的實值型別:String

  • 使用樣本:

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

not exists

判斷請求是否不存在設定值。

  • 運算子名稱:不存在

  • 匹配的實值型別:String

  • 使用樣本:

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

其他運算子

lower

用於不區分請求值的大小寫時,將請求傳入值統一轉換為小寫。

  • 運算子名稱:不區分大小寫

  • 匹配的實值型別:String

  • 使用樣本:

    (lower(http.request.uri))

邏輯運算子

邏輯運算子用於將多個運算式組合成一個複合運算式

not

表示對某個運算式的邏輯取反

  • 運算子名稱:邏輯非

  • 使用樣本:

    not (http.host )

and

表示請求需要同時滿足兩個或多個運算式。

  • 運算子名稱:邏輯且

  • 使用樣本:

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

or

表示請求只需要滿足多個設定的運算式中的一個即可。

  • 運算子名稱:邏輯或

  • 使用樣本:

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