re.regex

Compatible avec :

Vous pouvez définir la correspondance d'expressions régulières dans YARA-L 2.0 à l'aide de l'une des syntaxes suivantes :

  • Utilisation de la syntaxe YARA-L : concerne les événements. Voici une représentation générique de cette syntaxe :

    $e.field = /regex/
    
  • En utilisant la syntaxe YARA-L : en tant que fonction prenant les paramètres suivants :

    • Champ auquel l'expression régulière est appliquée.
    • Expression régulière spécifiée sous forme de chaîne.

    Voici une représentation générique de cette syntaxe :

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

Description

Cette fonction renvoie true si la chaîne contient une sous-chaîne qui correspond à l'expression régulière fournie. Il n'est pas nécessaire d'ajouter .* au début ou à la fin de l'expression régulière.

Remarques
  • Pour faire correspondre la chaîne exacte ou uniquement un préfixe ou un suffixe, incluez les caractères d'ancrage ^ (début) et $ (fin) dans l'expression régulière. Par exemple, /^full$/ correspond exactement à "full", tandis que /full/ peut correspondre à "fullest", "lawfull" et "joyfully".
  • Si le champ UDM inclut des caractères de retour à la ligne, regexp ne correspond qu'à la première ligne du champ UDM. Pour forcer la correspondance complète des champs UDM, ajoutez (?s) à l'expression régulière. Par exemple, remplacez /.*allUDM.*/ par /(?s).*allUDM.*/.
  • Vous pouvez utiliser le modificateur nocase après les chaînes pour indiquer que la recherche doit ignorer la casse.

Types de données des paramètres

STRING – STRING

Types d'expressions de paramètre

ANY – ANY

Type renvoyé

BOOL

Exemples de code

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