Uso di espressioni regolari per filtrare ricerche log in Log AnalyticsUsing regular expressions to filter log searches in Log Analytics

Nota

Questo articolo descrive le espressioni regolari usando il linguaggio di query legacy di Log Analytics.This article describes regular expressions using the legacy query language in Log Analytics. Se l'area di lavoro è stata aggiornata al nuovo linguaggio di query di Log Analytics, è consigliabile fare riferimento a Regular expressions (Espressioni regolari) nella documentazione del linguaggio.If your workspace has been upgraded to the new Log Analytics query language, then you should refer to Regular expressions in the language documentation.

Le ricerche log consentono di estrarre informazioni dal repository Log Analytics.Log searches allow you to extract information from the Log Analytics repository. Le espressioni di filtro consentono di filtrare i risultati della ricerca in base a criteri specifici.Filter expressions allow you to filter the results of the search according to specific criteria. La parola chiave RegEx consente di specificare un'espressione regolare per il filtro.The RegEx keyword allows you to specify a regular expression for this filter.

Questo articolo contiene informazioni dettagliate sulla sintassi di espressioni regolari usate da Log Analytics.This article provides details on the regular expression syntax used by Log Analytics.

Nota

È possibile usare solo RegEx con i campi ricercabili.You can only use RegEx with searchable fields. Per altre informazioni sui campi ricercabili, vedere Tipi di campo in Trovare dati con ricerche nei log in Log Analytics.For more information on searchable fields, see Field Types in Find data using log searches in Log Analytics.

Parola chiave RegExRegEx keyword

Servirsi della sintassi seguente per usare la parola chiave RegEx in una ricerca log.Use the following syntax to use the RegEx keyword in a log search. È possibile usare le altre sezioni in questo articolo per determinare la sintassi dell'espressione regolare stessa.You can use the other sections in this article to determine the syntax of the regular expression itself.

field:Regex("Regular Expression")
field=Regex("Regular Expression")

Ad esempio, per usare un'espressione regolare per restituire i record degli avvisi con un tipo di avviso o errore, usare la ricerca log seguente.For example, to use a regular expression to return alert records with a type of Warning or Error, you would use the following log search.

Type=Alert AlertSeverity=RegEx("Warning|Error")

Corrispondenze parzialiPartial matches

Si noti che l'espressione regolare deve corrispondere all'intero testo della proprietà.Note that the regular expression must match the entire text of the property. Le corrispondenze parziali non restituiranno alcun record.Partial matches will not return any records. Ad esempio, se si sta tentando di restituire i record da un computer denominato srv01.contoso.com, la ricerca log seguente non restituirà alcun record.For example, if you were trying to return records from a computer named srv01.contoso.com, the following log search would not return any records.

Computer=RegEx("srv..")

Questo perché solo la prima parte del nome corrisponde all'espressione regolare.This is because only the first part of the name matches the regular expression. Le due ricerche log seguenti restituirebbero dei record da questo computer perché corrispondono all'intero nome.The following two log searches would return records from this computer because they match the entire name.

Computer=RegEx("srv..@")
Computer=RegEx("srv...contoso.com")

CaratteriCharacters

Specificare caratteri diversi.Specify different characters.

CharacterCharacter DescrizioneDescription EsempioExample Corrispondenze di esempioSample Matches
aa Una occorrenza del carattere.One occurrence of the character. Computer=RegEx("srv01.contoso.com")Computer=RegEx("srv01.contoso.com") srv01.contoso.comsrv01.contoso.com
.. Qualsiasi carattere singolo.Any single character. Computer=RegEx("srv...contoso.com")Computer=RegEx("srv...contoso.com") srv01.contoso.comsrv01.contoso.com
srv02.contoso.comsrv02.contoso.com
srv03.contoso.comsrv03.contoso.com
a?a? Nessuna o una occorrenza del carattere.Zero or one occurrence of the character. Computer=RegEx("srv01?.contoso.com")Computer=RegEx("srv01?.contoso.com") srv0.contoso.comsrv0.contoso.com
srv01.contoso.comsrv01.contoso.com
aa Nessuna o più occorrenze del carattere.Zero or more occurrences of the character. Computer=RegEx("srv01.contoso.com")Computer=RegEx("srv01.contoso.com") srv0.contoso.comsrv0.contoso.com
srv01.contoso.comsrv01.contoso.com
srv011.contoso.comsrv011.contoso.com
srv0111.contoso.comsrv0111.contoso.com
a+a+ Una o più occorrenze del carattere.One or more occurrences of the character. Computer=RegEx("srv01+.contoso.com")Computer=RegEx("srv01+.contoso.com") srv01.contoso.comsrv01.contoso.com
srv011.contoso.comsrv011.contoso.com
srv0111.contoso.comsrv0111.contoso.com
[abc][abc] Corrispondenza di qualsiasi carattere singolo tra parentesiMatch any single character in the brackets Computer=RegEx("srv0[123].contoso.com")Computer=RegEx("srv0[123].contoso.com") srv01.contoso.comsrv01.contoso.com
srv02.contoso.comsrv02.contoso.com
srv03.contoso.comsrv03.contoso.com
[a-z][a-z] Corrispondenza di un carattere singolo nell'intervallo.Match a single character in the range. Può includere più intervalli.Can include multiple ranges. Computer=RegEx("srv0[1-3].contoso.com")Computer=RegEx("srv0[1-3].contoso.com") srv01.contoso.comsrv01.contoso.com
srv02.contoso.comsrv02.contoso.com
srv03.contoso.comsrv03.contoso.com
[^abc][^abc] Nessuno dei caratteri tra parentesiNone of the characters in the brackets Computer=RegEx("srv0[^123].contoso.com")Computer=RegEx("srv0[^123].contoso.com") srv05.contoso.comsrv05.contoso.com
srv06.contoso.comsrv06.contoso.com
srv07.contoso.comsrv07.contoso.com
[^a-z][^a-z] Nessuno dei caratteri nell'intervallo.None of the characters in the range. Computer=RegEx("srv0[^1-3].contoso.com")Computer=RegEx("srv0[^1-3].contoso.com") srv05.contoso.comsrv05.contoso.com
srv06.contoso.comsrv06.contoso.com
srv07.contoso.comsrv07.contoso.com
[n-m][n-m] Corrispondenza di un intervallo di caratteri numerici.Match a range of numeric characters. Computer=RegEx("srv[01-03].contoso.com")Computer=RegEx("srv[01-03].contoso.com") srv01.contoso.comsrv01.contoso.com
srv02.contoso.comsrv02.contoso.com
srv03.contoso.comsrv03.contoso.com
@ Qualsiasi stringa di caratteri.Any string of characters. Computer=RegEx("srv@.contoso.com")Computer=RegEx("srv@.contoso.com") srv01.contoso.comsrv01.contoso.com
srv02.contoso.comsrv02.contoso.com
srv03.contoso.comsrv03.contoso.com

Più occorrenze del carattereMultiple occurences of character

Specificare più occorrenze di un carattere specifico.Specify multiple occurrences of a particular characters.

CharacterCharacter DescrizioneDescription EsempioExample Corrispondenze di esempioSample Matches
a{n}a{n} n occorrenze del carattere.n occurrences of the character. Computer=RegEx("bw-win-sc01{3}.bwren.lab")Computer=RegEx("bw-win-sc01{3}.bwren.lab") bw-win-sc0111.bwren.labbw-win-sc0111.bwren.lab
a{n,}a{n,} n o più occorrenze del carattere.n or more occurrences of the character. Computer=RegEx("bw-win-sc01{3,}.bwren.lab")Computer=RegEx("bw-win-sc01{3,}.bwren.lab") bw-win-sc0111.bwren.labbw-win-sc0111.bwren.lab
bw-win-sc01111.bwren.labbw-win-sc01111.bwren.lab
bw-win-sc011111.bwren.labbw-win-sc011111.bwren.lab
bw-win-sc0111111.bwren.labbw-win-sc0111111.bwren.lab
a{n,m}a{n,m} n a m occorrenze del carattere.n to m occurrences of the character. Computer=RegEx("bw-win-sc01{3,5}.bwren.lab")Computer=RegEx("bw-win-sc01{3,5}.bwren.lab") bw-win-sc0111.bwren.labbw-win-sc0111.bwren.lab
bw-win-sc01111.bwren.labbw-win-sc01111.bwren.lab
bw-win-sc011111.bwren.labbw-win-sc011111.bwren.lab

Espressioni logicheLogical expressions

Selezionare più valori.Select from multiple values.

CharacterCharacter DescrizioneDescription EsempioExample Corrispondenze di esempioSample Matches
|| OR logico.Logical OR. Restituisce un risultato se corrisponde a una delle espressioni.Returns result if match on either expression. Type=Alert AlertSeverity=RegEx("Warning|Error")Type=Alert AlertSeverity=RegEx("Warning|Error") AvvisoWarning
ErroreError
& AND logico.Logical AND. Restituisce un risultato se corrisponde a entrambe le espressioniReturns result if match on both expressions EventData=regex("(Security.*&.*success.*)")EventData=regex("(Security.*&.*success.*)") Controllo della sicurezza eseguito correttamenteSecurity auditing successful

Valori letteraliLiterals

Convertire i caratteri speciali in caratteri letterali.Convert special characters to literal characters. Inclusi i caratteri che danno funzionalità alle espressioni regolari, ad esempio?-*^[]{}()+|.&.This includes characters that provide functionality to regular expressions such as ?-*^[]{}()+|.&.

CharacterCharacter DescrizioneDescription EsempioExample Corrispondenze di esempioSample Matches
\ Converte un carattere speciale in un valore letterale.Converts a special character to a literal. Status_CF=\[Error\]@Status_CF=\[Error\]@
Status_CF=Error\-@Status_CF=Error\-@
[Error]File non trovato.[Error]File not found.
Errore-File non trovato.Error-File not found.

Passaggi successiviNext Steps

  • Si consiglia di acquisire familiarità con ricerche log per visualizzare e analizzare i dati nel repository di Log Analytics.Get familiar with log searches to view and analyze data in the Log Analytics repository.