Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
re.regex
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")
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-29 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-29 UTC."],[[["\u003cp\u003eThe \u003ccode\u003ere.regex\u003c/code\u003e function in YARA-L 2.0 is used to check if a string contains a substring that matches a given regular expression, and is supported in Rules and Search.\u003c/p\u003e\n"],["\u003cp\u003eThere are two ways to define regular expression matching in YARA-L 2.0: using the \u003ccode\u003e$e.field = /regex/\u003c/code\u003e syntax or by using the \u003ccode\u003ere.regex($e.field, \u003c/code\u003eregex\u003ccode\u003e)\u003c/code\u003e function.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ere.regex\u003c/code\u003e function automatically checks for substrings, so adding \u003ccode\u003e.*\u003c/code\u003e at the beginning or end of the regular expression is unnecessary.\u003c/p\u003e\n"],["\u003cp\u003eTo ensure exact string matching or to match prefixes or suffixes, use the \u003ccode\u003e^\u003c/code\u003e and \u003ccode\u003e$\u003c/code\u003e anchor characters within the regular expression, and add a \u003ccode\u003e(?s)\u003c/code\u003e modifier for full multi-line field matching.\u003c/p\u003e\n"],["\u003cp\u003eThe function supports case-insensitive searches using the \u003ccode\u003enocase\u003c/code\u003e modifier after the strings.\u003c/p\u003e\n"]]],[],null,["### re.regex\n\nSupported in: \n[Rules](/chronicle/docs/detection/default-rules) [Search](/chronicle/docs/investigation/udm-search)\n\nYou can define regular expression matching in YARA-L 2.0 using either of the following syntax:\n\n- Using YARA-L syntax --- Related to events.\n The following is a generic representation of this syntax:\n\n $e.field = /regex/\n\n- Using YARA-L syntax --- As a function taking in the following parameters:\n\n - Field the regular expression is applied to.\n - Regular expression specified as a string.\n\n The following is a generic representation of this syntax: \n\n re.regex($e.field, `regex`)\n\n#### Description\n\nThis function returns `true` if the string contains a substring that matches the regular expression provided. It is unnecessary to add `.*` to the beginning or at the end of the regular expression.\n\n##### Notes\n\n- To match the exact string or only a prefix or suffix, include the `^` (starting) and `$` (ending) anchor characters in the regular expression. For example, `/^full$/` matches `\"full\"` exactly, while `/full/` could match `\"fullest\"`, `\"lawfull\"`, and `\"joyfully\"`.\n- If the UDM field includes newline characters, the `regexp` only matches the first line of the UDM field. To enforce full UDM field matching, add a `(?s)` to the regular expression. For example, replace `/.*allUDM.*/` with `/(?s).*allUDM.*/`.\n- You can use the `nocase` modifier after strings to indicate that the search should ignore capitalization.\n\n#### Param data types\n\n`STRING`, `STRING`\n\n#### Param expression types\n\n`ANY`, `ANY`\n\n#### Return type\n\n`BOOL`\n\n#### Code samples\n\n##### Example 1\n\n // Equivalent to $e.principal.hostname = /google/\n re.regex($e.principal.hostname, \"google\")"]]