re.regex
YARA-L 2.0 では、次のいずれかの構文を使用して正規表現の一致を定義できます。
YARA 構文の使用 - イベントに関連します。この構文の一般的な表現は次のとおりです。
$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")