Informazioni sulla sintassi delle regole criteri

 

Si applica a: Office 365 Enterprise, Live@edu, Forefront Online Protection for Exchange

Data ultima modifica dell'argomento: 2012-05-02

Per la creazione delle regole criteri in Forefront Online Protection for Exchange (FOPE) sono disponibili due opzioni di sintassi della regola. Innanzitutto, è possibile utilizzare valori separati da virgola (CSV) combinati alla sintassi di tipo stringa-carattere jolly, indicata come Di base nell'editor delle regole criteri dell'interfaccia di amministrazione di FOPE. È inoltre possibile utilizzare un sottoinsieme di caratteri specificati nella sintassi Espressione regolare, indicata come RegEx nell'editor delle regole criteri dell'interfaccia di amministrazione di FOPE, per regole più complesse.

Se non si ha familiarità con la sintassi RegEx, è possibile selezionare l'opzione Di base, che consente di creare espressioni semplici per il filtraggio del contenuto e facilita la scrittura di espressioni di corrispondenza nel formato corretto valutandole in base al contesto in cui vengono definite. Ad esempio, nel campo Indirizzo IP vengono accettati solo indirizzi IP corretti. Se le regole che si desidera creare richiedono una maggiore complessità, ad esempio gruppi di numeri e di parole, è possibile utilizzare un sottoinsieme di caratteri della sintassi RegEx selezionando l'opzione RegEx. Con questa opzione, non è disponibile la convalida basata sul contesto, ma solo la convalida specifica della sintassi.

Sintassi di base

Se si seleziona Di base nell'editor Regole criteri, è possibile elencare le espressioni con sintassi CSV, separando le espressioni di corrispondenza con la virgola. Inoltre, è possibile creare espressioni di corrispondenza più complesse con metacaratteri semplici di tipo stringa-carattere jolly. La stessa sintassi è applicabile ai file dizionario caricati tramite Filtri.

Definizione della sintassi di base

Metacarattere Descrizione Esempio

,

La virgola è il metacarattere di scelta, anche noto come alternanza o separatore, e consente di trovare la corrispondenza dell'espressione elencata prima o dopo di essa.

abc, def, xyz trova la corrispondenza abc o def o xyz

*

Un asterisco è il metacarattere jolly e rappresenta zero o più caratteri.

Nota

Equivale a (.*) nella sintassi RegEx.

ab* trova la corrispondenza aba o abaa o abaaa o ab12345667 e così via.

?

Il punto interrogativo rappresenta un solo carattere.

Nota

Equivale a (.) nella sintassi RegEx.

ab? trova la corrispondenza aba o abb o abc o ab1 o ab2 e così via.

\

La barra rovesciata è l'operatore di escape. Per trovare le corrispondenze dei valori letterali (,) (*) (?) e (\) ed eliminarne il significato speciale nella sintassi di base, è necessario posizionare l'operatore di escape davanti agli operatori della sintassi di base.

Nota

Questo carattere equivale a () nella sintassi RegEx.

\*a\\bc\? trova la corrispondenza *a\bc?

Da /0 a /32

La barra indica la notazione CIDR (Classless Inter-Domain Routing). che può essere espressa aggiungendo una barra (/) seguita da un numero compreso tra 0 e 32 dopo l'ultimo ottetto di un indirizzo IP.

Nota

La notazione CIDR si applica solo alle espressioni di indirizzi IP e non può essere utilizzata in altri contesti.

99.99.98.0/23 trova la corrispondenza di intervalli IP compresi tra 99.99.98.0 e 99.99.99.255

Nota

Il numero totale di caratteri inseriti in qualsiasi dizionario o campo Regola criteri non può essere maggiore di 9.000. Il limite per la dimensione del dizionario è pari a 2 MB.

Sintassi RegEx

Se si seleziona RegEx nell'editor Regole criteri, è possibile specificare espressioni più complesse in grado di trovare la corrispondenza di gruppi di testo, numeri o caratteri speciali. Ad esempio, è possibile trovare la corrispondenza di diverse varianti di una parola, come viagra, vi@gra e vlagra, utilizzando un sottoinsieme di caratteri RegEx. In questo modo è possibile ridurre al minimo il numero di regole necessarie e creare espressioni di corrispondenza efficaci, per trovare la corrispondenza di numeri di carte di credito, codici fiscali, indirizzi di posta elettronica e altre stringhe analoghe di parole o numeri sensibili.

Definizione della sintassi RegEx

L'opzione RegEx nell'editor Regole criteri è un sottoinsieme della sintassi di base POSIX e della sintassi di espressione regolare estesa, espressa nella tabella seguente.

Tipo di carattere Carattere Descrizione Esempio

Meta

^

Il metacarattere del punto di inserimento trova la corrispondenza della posizione iniziale all'interno di una stringa.

Nota

Se viene utilizzato in combinazione con il carattere del segno di dollaro, ha la stessa funzionalità dell'opzione di corrispondenza esatta.

^abc trova la corrispondenza abc1234, ma non 1234abc

Meta

$

Il metacarattere del segno di dollaro trova la corrispondenza della posizione finale della stringa o della posizione che precede una nuova riga di fine stringa.

Nota

In combinazione con il carattere del punto di inserimento, ha la stessa funzionalità dell'opzione di corrispondenza esatta.

abc$ trova la corrispondenza 1234abc, ma non abc1234

Meta

*

L'asterisco trova la corrispondenza dell'elemento precedente zero o più volte.

Importante

Utilizzare questo carattere con cautela, poiché le espressioni di corrispondenza contenenti questo carattere possono restituire più corrispondenze del previsto.

ab*x trova la corrispondenza abx o abbx o abbbx o abbbbx e così via.

Meta

+

Il metacarattere del segno più trova la corrispondenza dell'elemento precedente una o più volte.

Utilizzare questo carattere con cautela, poiché le espressioni di corrispondenza contenenti questo carattere possono restituire più corrispondenze del previsto.

ab+x trova la corrispondenza abbx o abbbx o abbbbx o abbbbbx e così via.

Meta

.

Il metacarattere del punto trova la corrispondenza di un singolo carattere, tranne quello di nuova riga.

ab.x trova la corrispondenza ab1x o ab2x o ab3x o ab4x e così via.

Meta

?

Il punto interrogativo trova la corrispondenza dell'elemento precedente zero o una volta.

ab? trova la corrispondenza a o ab

Meta

|

La barra verticale è un carattere di scelta, o alternanza, che consente di trovare la corrispondenza dell'espressione prima o dopo l'operatore, a partire dalla prima stringa a sinistra e fino a quando viene trovata una corrispondenza.

abc|def|xyz trova la corrispondenza abc o def o xyz o abc12345, ma non a123c o axm

Meta

\

La barra rovesciata permette di considerare i metacaratteri RegEx come caratteri letterali nel contesto della regola.

x\*1\.5\+9\\x=y trova la corrispondenza x*1.5+9\x=y

Classe

\w

La barra rovesciata con la w minuscola trova qualsiasi carattere alfanumerico, inclusi quelli con "_".

\w123 trova la corrispondenza a123 o bbb123 o c_c123xxx, ma non @123

Classe

\d

La barra rovesciata con la d minuscola trova le corrispondenze di qualsiasi cifra decimale.

\dabc trova la corrispondenza 123abc o 12345abcxxx o 1abc1, ma non abc123 o @abc123

Classe

\s

La barra rovesciata con la s minuscola trova qualsiasi spazio vuoto.

abc\sdef trova la corrispondenza abc def

Importante

Se non si ha familiarità con la sintassi RegEx, si consiglia di utilizzare l'opzione Di base o di testare le regole con l'azione di regola criteri Test prima di utilizzarle con azioni di regola criteri quali Rifiuta, Crittografa, Reindirizza. Le Regole criteri di interfaccia di amministrazione supportano solo un sottoinsieme di caratteri RegEx.
Il numero totale di caratteri RegEx inseriti in qualsiasi campo Regola criteri non può essere maggiore di 9.000.

Altri esempi per la creazione di espressioni di corrispondenza con RegEx

Di seguito vengono presentati esempi di espressioni RegEx che consentono di trovare la corrispondenza di diverse parti di un messaggio:

  • Se si utilizza un punto per trovare la corrispondenza delle estensioni di file, si troverà la corrispondenza di qualsiasi carattere singolo dopo l'espressione. Ad esempio, r. trova qualsiasi nome file che inizia con la lettera "r" e qualsiasi carattere singolo che la segue. L'espressione di ricerca r., ad esempio, troverà la corrispondenza di estensioni quali r1 o di un'altra combinazione di due caratteri.

  • Per essere considerati come caratteri letterali, tutti i metacaratteri RegEx devono essere inseriti con l'operatore di escape. Per i metacaratteri non RegEx vengono trovate corrispondenze letterali e non è necessario aggiungere l'operatore di escape. Per trovare la corrispondenza di un punto in un nome di dominio, è necessario aggiungere il carattere di escape immettendo \.. L'espressione di corrispondenza contoso\.com troverà la corrispondenza di contoso.com.

  • Per le opzioni Dominio, la corrispondenza del dominio si basa sulla presenza del dominio di mittente o destinatario nell'intestazione di un messaggio di posta elettronica. Ad esempio, una regola che prevede di intervenire su contoso.com influirà anche sui messaggi destinati al sottodominio 123.contoso.com. Se si desidera trovare le corrispondenze solo del nome di dominio senza sottodomini, è possibile configurare la regola utilizzando il metacarattere del punto di inserimento ^contoso.com. La regola configurata in questo modo troverà solo le corrispondenze dei messaggi di posta elettronica inviati o ricevuti da contoso.com, non da 123.contoso.com.

  • Se si desidera, ad esempio, cercare dei termini nell'oggetto, nel corpo o nell'allegato di un messaggio di posta elettronica che finiscano in "logia", occorrerà combinare l'asterisco e il punto per trovare la corrispondenza. Il termine di ricerca .*logia, ad esempio, restituirà parole quali "ecologia" o "filologia".

  • Il punto . seguito da un asterisco * rappresenta zero o più caratteri. L'espressione di corrispondenza contoso\..*, ad esempio, troverà le corrispondenze di "contoso.com", ma anche di "contoso.microsoft.com" o "contoso.mydomain.ca" e così via. Per trovare solo le corrispondenze del dominio di livello superiore, è necessaria un'espressione di corrispondenza più precisa. contoso\.\w\w\w$ troverà la corrispondenza di "contoso.com" o "contoso.org" o "contoso.tv1", ma non di domini con più o meno di 3 caratteri alfanumerici dopo il punto.

Informazioni sulle espressioni regolari

Le espressioni regolari, abbreviate RegEx, sono un linguaggio formale standard utilizzato in molti sistemi e linguaggi di programmazione. Le espressioni regolari sono molto efficaci se utilizzate correttamente. Ulteriori informazioni, ad esempio la definizione di sintassi, esempi ed esercitazioni, sono disponibili in molti siti Web, tra cui:

-
MSDN Introduzione alle espressioni regolari

-
Sito Web Regular-Expressions.Info

-
Sito Web Libreria espressioni regolari