re.regex

支援的國家/地區:

您可以使用下列任一語法,在 YARA-L 2.0 中定義規則運算式比對:

  • 使用 YARA-L 語法 - 與事件相關。 以下是這類語法的泛型表示法:

    $e.field = /regex/
    
  • 使用 YARA-L 語法 - 做為函式,並採用下列參數:

    • 套用規則運算式的欄位。
    • 以字串形式指定的規則運算式。

    以下是這類語法的泛型表示法:

    re.regex($e.field, `regex`)
    

說明

如果字串包含與所提供規則運算式相符的子字串,這個函式會傳回 true。不必在規則運算式的開頭或結尾加上 .*

附註
  • 如要比對確切字串,或只比對前置字元或後置字元,請在規則運算式中加入 ^ (開頭) 和 $ (結尾) 的錨點字元。 舉例來說,/^full$/ 完全符合 "full",而 /full/ 可能符合 "fullest""lawfull""joyfully"
  • 如果 UDM 欄位包含換行字元,regexp 只會比對 UDM 欄位的第一行。如要強制執行完整 UDM 欄位比對,請在規則運算式中加入 (?s)。例如,將 /.*allUDM.*/ 替換為 /(?s).*allUDM.*/
  • 您可以在字串後使用 nocase 修飾符,表示搜尋時應忽略大小寫。

參數資料類型

STRINGSTRING

參數運算式類型

ANYANY

傳回類型

BOOL

程式碼範例

範例 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")