Entendendo a Sintaxe de Regra de Política

 

Aplica-se a: Office 365 Enterprise, Live@edu, Forefront Online Protection for Exchange

Tópico modificado por último: 2012-05-02

Ao criar regras de política no Forefront Online Protection for Exchange (FOPE), você tem duas opções para a sintaxe da regra. Primeiro, você pode usar valores separados por vírgula (CSV) misturados à sintaxe cadeia de caracteres-curinga, listada como Básica no editor de Regras de Política do Centro de Administração do FOPE. Segundo, para regras mais complexas, você pode usar um subconjunto de caracteres especificados na sintaxe Expressão Regular, listada como RegEx no editor de Regras de Política do Centro de Administração do FOPE.

Se você não estiver familiarizado com a sintaxe RegEx, selecione a opção Básica, que permitirá que você crie expressões simples para filtragem de conteúdo e ajudará você a escrever o formato correto das expressões de correspondência, avaliando suas expressões de correspondência com base no contexto em que elas estão definidas. Por exemplo, somente endereços IP corretos serão aceitos no campo de endereço IP. Se as regras que você deseja criar exigem mais complexidade, como padrões de número e padrões de palavra de correspondência, você pode usar um subconjunto de caracteres da sintaxe RegEx, selecionando a opção RegEx. Com essa opção, validações baseadas no contexto não estão disponíveis; somente validações de sintaxe especifica se aplicarão.

Sintaxe básica

Ao selecionar Básica no editor Regras de Diretiva, você poderá listar expressões usando uma sintaxe CSV, separando as expressões de correspondência com vírgulas. Além disso, você poderá aprimorar as expressões de correspondência com simples metacaracteres de cadeia de caracteres-curinga. A mesma sintaxe se aplica a arquivos de dicionário carregados por meio de Filtros.

Definição de sintaxe básica

Metacaractere Descrição Exemplo

,

Uma vírgula é o metacaractere de preferência, também conhecido como uma alternância ou um separador, e corresponde à expressão listada antes ou depois da vírgula.

abc, def, xyz corresponde a abc ou def ou xyz

*

Um asterisco é o metacaractere curinga e representa zero ou mais caracteres.

Dica

Esse caractere é equivalente ao (.*) na sintaxe RegEx.

ab* corresponde a aba ou abaa ou abaaa ou ab12345667, etc.

?

O ponto de interrogação representa qualquer caractere único.

Dica

Esse caractere é equivalente ao (.) na sintaxe RegEx.

ab? corresponde a aba ou abb ou abc ou ab1 ou ab2 etc.

\

Uma barra invertida é o operador de escape. Para corresponder aos literais (,) (*) (?) ou (\) e para eliminar seu significado especial na sintaxe básica, o operador de escape precisa ser colocado na frente dos operadores de sintaxe básica.

Dica

Esse caractere é equivalente ao () na sintaxe RegEx.

\*a\\bc\? corresponde a *a\bc?

/0 até /32

Uma barra indica a notação CIDR (Roteamento entre Domínios sem Classificação). Isso pode ser expresso por meio da adição de uma barra (/) seguida de um número de 0 a 32 após o último octeto de um endereço IP.

Dica

A notação CIDR se aplica somente a expressões de endereço IP e não pode ser usada em outros contextos.

99.99.98.0/23 corresponde a intervalos de IP de 99.99.98.0 até 99.99.99.255

Dica

O número total de caracteres inseridos em qualquer campo Regra de Política ou dicionário não pode exceder 9.000. O limite de tamanho do arquivo de dicionário é 2 MB.

Sintaxe RegEx

Quando você seleciona RegEx no editor Regras de Diretiva, é possível especificar expressões mais complexas que correspondem a padrões de texto, números ou caracteres especiais. Por exemplo, é possível corresponder a muitas variações diferentes de uma palavra como viagra, vi@gra, vlagra, usando um subconjunto de caracteres RegEx. Isso permitirá que você minimize a quantidade de regras necessárias e crie expressões de correspondência poderosas, como a verificação de números de cartão de crédito, cadastros de pessoas físicas, endereços de email e cadeias de caracteres semelhantes de palavras ou números confidenciais.

Definição de sintaxe RegEx

A opção RegEx no editor Regras de Diretiva é um subconjunto da sintaxe POSIX Básica e Expressões Regulares Estendidas, expressa na tabela a seguir.

Tipo de caractere Caractere Descrição Exemplo

Meta

^

O metacaractere circunflexo corresponde à posição inicial na cadeia de caracteres.

Dica

Usado em combinação com o caractere de sinal de dólar, o circunflexo tem a mesma funcionalidade que a opção de correspondência exata.

^abc corresponde a abc1234, mas não corresponderá a 1234abc

Meta

$

O metacaractere sinal de dólar corresponde à posição final da cadeia de caracteres ou a posição logo antes da nova linha de fim da cadeia de caracteres.

Dica

Em combinação com o caractere circunflexo, o sinal de dólar oferece a mesma funcionalidade que a opção de correspondência exata.

abc$ corresponde a 1234abc, mas não corresponderá a abc1234

Meta

*

O asterisco corresponde ao elemento precedente zero ou mais vezes.

Importante

Esse caractere deve ser usado com cuidado; expressões de correspondência que usam esse caractere podem encontrar mais correspondências do que o desejado.

ab*x corresponde a abx ou abbx ou abbbx ou abbbbx, etc.

Meta

+

O metacaractere mais corresponde ao elemento precedente uma ou mais vezes.

Esse caractere deve ser usado com cuidado; expressões de correspondência que usam esse caractere podem encontrar mais correspondências do que o desejado.

ab+x corresponde a abbx ou abbbx ou abbbbx ou abbbbbx, etc.

Meta

.

O metacaractere ponto corresponde a qualquer caractere único exceto nova linha.

ab.x corresponde a ab1x ou ab2x ou ab3x ou ab4x, etc.

Meta

?

O ponto de interrogação corresponde ao elemento precedente zero ou uma vez.

ab? corresponde a a ou ab

Meta

|

A barra vertical é um caractere de preferência ou alternativo, que corresponde à expressão anterior ou posterior ao operador, começando da primeira cadeia de caracteres (esquerda) e parando quando uma correspondência é encontrada.

abc|def|xyz corresponde a abc ou def ou xyz ou abc12345, mas não corresponderá a a123c ou axm

Meta

\

A barra invertida faz com que os metacaracteres RegEx sejam tratados como caracteres literais no contexto da regra.

x\*1\.5\+9\\x=y corresponde a x*1.5+9\x=y

Classe

\w

A barra invertida com w minúsculo corresponde a qualquer caractere de palavra, incluindo caracteres alfanuméricos com "_".

\w123 corresponde a a123 ou bbb123 ou c_c123xxx, mas não corresponderá a @123

Classe

\d

A barra invertida com d minúsculo corresponde a qualquer dígito decimal.

\dabc corresponde a 123abc ou 12345abcxxx ou 1abc1, mas não corresponderá a abc123 ou @abc123

Classe

\s

A barra invertida com s minúsculo corresponde a qualquer caractere de espaço em branco.

abc\sdef corresponde a abc def

Importante

Se você não estiver familiarizado com a sintaxe RegEx, recomendamos que use a opção Básica ou regras de teste, usando a ação da regra de política Testar antes de usá-las com ações de regra de política, como Rejeitar, Criptografar, Redirecionar. As Regras de Diretiva do Administration Center oferecem suporte somente a um subconjunto de caracteres RegEx.
O número total de caracteres RegEx inserido em qualquer campo Regra de Diretiva não pode exceder 9.000.

Mais exemplos para criar expressões de correspondência com RegEx

A seguir estão exemplos de expressões RegEx que correspondem a partes diferentes de uma mensagem:

  • Um ponto usado para corresponder a extensões de arquivo corresponderá a qualquer caractere único após a sua expressão. Por exemplo, r. corresponderia a qualquer nome de arquivo que começasse com a letra r e qualquer caractere único depois dele. Por exemplo, a expressão de correspondência r. corresponderia a extensões, como r1 ou uma outra combinação de dois caracteres.

  • Para serem correspondidos como literais, todos os metacaracteres RegEx precisam ser acompanhados pelo operador de escape. Metacaracteres não RegEx têm correspondência exata e não precisam ter o operador de escape adicionado. Se você quiser corresponder ao ponto em um nome de domínio, esse ponto precisa ter o caractere de escape adicionado listando-se \.. A expressão de correspondência contoso\.com corresponderá a contoso.com.

  • Para opções de Domínio, a correspondência de domínio age na presença do domínio do remetente ou do destinatário em um cabeçalho de email. Por exemplo, uma regra para executar uma ação em contoso.com também afetará as mensagens do subdomínio 123.contoso.com. Se você quiser corresponder somente ao nome de domínio sem quaisquer subdomínios, configure a regra usando o metacaractere circunflexo ^contoso.com. A regra configurada dessa maneira corresponderia somente a emails enviados ou recebidos de contoso.com e não 123.contoso.com.

  • Se você deseja procurar termos, por exemplo, no assunto, corpo ou nome de arquivo anexo de um email que terminem com a cadeia de caracteres “dão”, combine o asterisco e o ponto para fazer a correspondência. Por exemplo, o termo de pesquisa .*dão retornaria resultados como “vastidão” ou “solidão”.

  • Um ponto . seguido por um asterisco * representa zero ou mais caracteres. Por exemplo, a expressão de correspondência contoso\..* corresponderia a “contoso.com”, mas também corresponderia a “contoso.microsoft.com” ou “contoso.mydomain.ca”, etc. Para corresponder somente ao Domínio de Primeiro Nível (TLD) de um domínio, é necessária uma expressão de correspondência mais precisa. contoso\.\w\w\w$ corresponderá a “contoso.com” ou “contoso.org” ou “contoso.tv1”, mas não corresponderá a quaisquer domínios com mais ou menos de 3 caracteres alfanuméricos depois do ponto.

Sobre Expressões Regulares

Expressões regulares, abreviadas como RegEx, são uma linguagem formal padrão usada em muitos sistemas e linguagens de programação. Expressões regulares podem ser poderosas, se usadas de forma apropriada. Você pode encontrar mais informações, incluindo definição de sintaxe, exemplos e tutoriais, em muitos sites, tais como os seguintes:

-
MSDN Introduction to Regular Expressions (em inglês)

-
Site Regular Expressions.Info

-
O site Regular Expression Library