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修飾符,表示搜尋時應忽略大小寫。
參數資料類型
STRING、STRING
參數運算式類型
ANY、ANY
傳回類型
BOOL
程式碼範例
範例 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")