re.regex
Sie können den Abgleich regulärer Ausdrücke in YARA-L 2.0 mit einer der folgenden Syntax definieren:
YARA-L-Syntax verwenden – bezieht sich auf Ereignisse. Nachfolgend finden Sie eine allgemeine Darstellung dieser Syntax:
$e.field = /regex/Verwendung der YARA-L-Syntax – als Funktion mit den folgenden Parametern:
- Feld, auf das der reguläre Ausdruck angewendet wird.
- Regulärer Ausdruck, der als String angegeben wird.
Nachfolgend finden Sie eine allgemeine Darstellung dieser Syntax:
re.regex($e.field, `regex`)
Beschreibung
Diese Funktion gibt true zurück, wenn der String einen Teilstring enthält, der mit dem angegebenen regulären Ausdruck übereinstimmt. Es ist nicht erforderlich, .* am Anfang oder am Ende des regulären Ausdrucks hinzuzufügen.
Die Funktion re.regex verwendet die RE2-Engine für reguläre Ausdrücke.
Hinweise
- Wenn Sie nach dem genauen String oder nur nach einem Präfix oder Suffix suchen möchten, fügen Sie die Ankerzeichen
^(Beginn) und$(Ende) in den regulären Ausdruck ein. Beispiel:/^full$/entspricht genau"full", während/full/mit"fullest","lawfull"und"joyfully"übereinstimmen könnte. - Wenn das UDM-Feld Zeilenumbruchzeichen enthält, stimmt
regexpnur mit der ersten Zeile des UDM-Felds überein. Wenn Sie erzwingen möchten, dass alle UDM-Felder übereinstimmen, fügen Sie dem regulären Ausdruck ein(?s)hinzu. Ersetzen Sie beispielsweise/.*allUDM.*/durch/(?s).*allUDM.*/. - Sie können den Modifikator
nocasenach Strings verwenden, um anzugeben, dass bei der Suche die Groß- und Kleinschreibung ignoriert werden soll.
Parameterdatentypen
STRING, STRING
Parameterausdruckstypen
ANY, ANY
Rückgabetyp
BOOL
Codebeispiele
Beispiel 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")