re.regex

Supportato in:

Puoi definire la corrispondenza con 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.

Note
  • Per trovare la corrispondenza esatta della stringa o solo di un prefisso o 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 forzare la corrispondenza completa dei campi 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")