Para criar uma expressão regular, você precisa usar uma sintaxe específica, ou seja, caracteres especiais e regras de construção. Por exemplo, esta é uma expressão regular simples que corresponde a qualquer número de telefone de 10 dígitos no padrão nnn-nnn-nnnn:
\d{3}-\d{3}-\d{4}
A tabela abaixo descreve alguns dos caracteres especiais mais comuns para uso em expressões regulares. Esses caracteres são categorizados da seguinte maneira:
| Caracteres | Descrição |
|---|---|
| Fixos | |
| ^ | (circunflexo) Corresponde ao início da linha ou string de texto que uma expressão regular pesquisa. Por exemplo, uma regra de conteúdo com uma linha de assunto de local e a seguinte expressão regular: ^abc captura qualquer mensagem de e-mail que tenha uma linha de assunto com as letras abc |
| $ | (dólar) Corresponde ao final da linha ou string de texto que uma expressão regular pesquisa. Por exemplo, uma regra de conteúdo com uma linha de assunto de local e a seguinte expressão regular: xyz$ captura qualquer mensagem de e-mail que tenha uma linha de assunto terminando com as letras xyz |
| Metacaracteres | |
| . | (ponto) Corresponde a qualquer caractere único, exceto a uma nova linha. |
| | | (barra vertical) Indica alternância, ou seja, "ou". Por exemplo: gato|cão corresponde às palavras gato ou cão |
| \ | Indica que o próximo caractere é literal, e não um caractere especial. Por exemplo: \. corresponde a um ponto literal, e não a qualquer caractere (caractere de ponto). |
| Classes de caracteres | |
| [...] | Corresponde a qualquer caractere de um conjunto de caracteres. Separe o primeiro e o último caractere em um conjunto com um travessão. Por exemplo: [123] corresponde ao dígito 1, 2 ou 3 [a-f] corresponde a qualquer letra de a a f Observação:as expressões regulares nas políticas de compliance de conteúdo diferenciam maiúsculas e minúsculas. |
| [^...] | Corresponde a qualquer caractere que não esteja no conjunto de caracteres. Por exemplo: [^a-f]corresponde a qualquer caractere que não seja uma letra de a a f Observação:as expressões regulares nas políticas de compliance de conteúdo diferenciam maiúsculas e minúsculas. |
| [:alnum:] | Corresponde a caracteres alfanuméricos (letras ou dígitos): a-z, A-Z ou 0-9 Observação:essa classe de caracteres precisa ser cercada por outro conjunto de colchetes quando você usá-la em uma expressão regular, por exemplo: [[:alnum:]]. |
| [:alpha:] | Corresponde a caracteres alfabéticos (letras): a-z ou A-Z Observação:essa classe de caracteres precisa ser cercada por outro conjunto de colchetes quando você usá-la em uma expressão regular, por exemplo: [[:alpha:]]. |
| [:digit:] | Corresponde a dígitos: 0-9 Observação:essa classe de caracteres precisa ser cercada por outro conjunto de colchetes quando você usá-la em uma expressão regular, por exemplo: [[:digit:]]. |
| [:graph:] | Corresponde somente a caracteres visíveis, ou seja, a caracteres com a exceção de espaços, caracteres de controle, etc. Observação:esta classe de caracteres precisa ser cercada por outro conjunto de colchetes quando usada em uma expressão regular, como: [[:graph:]]. |
| [:punct:] | Corresponde a caracteres de pontuação e a símbolos: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } Observação: esta classe de caracteres deve ser circundada por outro conjunto de colchetes quando usada em uma expressão regular, como: [[:punct:]]. |
| [:print:] | Corresponde a caracteres visíveis e espaços. Observação:esta classe de caracteres precisa ser cercada por outro conjunto de colchetes quando usada em uma expressão regular, como: [[:print:]]. |
| [:space:] | Corresponde a todos os caracteres de espaço em branco, incluindo espaços, tabulações e quebras de linha. Observação:esta classe de caracteres deve ser circundada por outro conjunto de colchetes quando usada em uma expressão regular, como: [[:space:]]. |
| [:word:] | Corresponde a qualquer caractere de palavra, ou seja, a qualquer letra, dígito ou sublinhado: a-z, A-Z, 0-9 ou _ Observação:essa classe de caracteres precisa ser cercada por outro conjunto de colchetes quando você usá-la em uma expressão regular, por exemplo: [[:word:]]. |
| Classes de caracteres abreviados | |
| \w | Corresponde a qualquer caractere de palavra, ou seja, a qualquer letra, dígito ou sublinhado: a-z, A-Z, 0-9 ou _ Equivalente a [:word:] |
| \W | Corresponde a qualquer caractere que não seja de palavra, ou seja, a qualquer caractere que não seja uma letra, um dígito ou um sublinhado. Equivalente a [^[:word:]] |
| \s | Corresponde a qualquer caractere de espaço em branco. Por exemplo, use este caractere para especificar um espaço entre palavras em uma frase: stockstips corresponde à frase stock tips Equivalente a [:space:] |
| \S | Corresponde a qualquer caractere que não seja um espaço em branco. Equivalente a [^[:space:]] |
| \d | Corresponde a qualquer dígito de 0 a 9. Equivalente a [:digit:] |
| \D | Corresponde a qualquer caractere que não seja um dígito de 0 a 9. Equivalente a [^[:digit:]] |
| Group | |
| (...) | Agrupa partes de uma expressão. Use o agrupamento para aplicar um quantificador a um grupo ou para corresponder a uma classe de caracteres antes ou depois de um grupo. |
| Quantificadores | |
| {n} | Corresponde à expressão precedente exatamente n vezes. Por exemplo: [a-c]{2} corresponde a qualquer letra de a a c apenas se houver duas letras em uma linha. Assim, a expressão corresponderia a ab e bc, mas não a abc ou aabbc. |
| {n,m} | Corresponde à expressão precedente no mínimo n vezes e no máximo m vezes. Por exemplo: [a-c]{2,4} corresponde a qualquer letra de a a c apenas se houver letras no mínimo duas vezes e no máximo quatro vezes em uma linha. Assim, a expressão corresponderia a ab e abc, mas não a aabbc. |
| ? | Indica que o caractere ou a expressão precedente pode corresponder 0 ou 1 vez. Equivalente ao intervalo {0,1}. Por exemplo, a seguinte expressão regular: colou?r corresponde a cor ou colorido por causa do ? torna a letra u opcional. |