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