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")