re.regex

Supportato in:

Puoi definire la corrispondenza con le espressioni regolari in YARA-L 2.0 utilizzando una delle seguenti sintassi:

  • Utilizzo della sintassi YARA-L: correlata agli eventi. Di seguito è riportata una rappresentazione generica di questa sintassi:

    $e.field = /regex/
    
  • Utilizzo della sintassi YARA-L: come funzione che accetta i seguenti parametri:

    • Campo a cui viene applicata l'espressione regolare.
    • Espressione regolare specificata come stringa.

    Di seguito è riportata una rappresentazione generica di questa sintassi:

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

Descrizione

Questa funzione restituisce true se la stringa contiene una sottostringa che corrisponde all'espressione regolare fornita. Non è necessario aggiungere .* all'inizio o alla fine dell'espressione regolare.

La funzione re.regex utilizza il motore di espressioni regolari RE2.

Note
  • Per trovare la stringa esatta o solo un prefisso o un suffisso, includi i caratteri di ancoraggio ^ (iniziale) e $ (finale) nell'espressione regolare. Ad esempio, /^full$/ corrisponde esattamente a "full", mentre /full/ potrebbe corrispondere a "fullest", "lawfull" e "joyfully".
  • Se il campo UDM include caratteri di nuova riga, regexp corrisponde solo alla prima riga del campo UDM. Per applicare la corrispondenza completa del campo UDM, aggiungi (?s) all'espressione regolare. Ad esempio, sostituisci /.*allUDM.*/ con /(?s).*allUDM.*/.
  • Puoi utilizzare il modificatore nocase dopo le stringhe per indicare che la ricerca deve ignorare le maiuscole.

Tipi di dati dei parametri

STRING, STRING

Tipi di espressioni dei parametri

ANY, ANY

Tipo restituito

BOOL

Esempi di codice

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