Uma expressão regular é uma cadeia codificada. Ela define um conjunto de cadeias que correspondem à expressão. Uma expressão regular pode ser formada de uma ou mais ramificações (opções), cada uma pode ser uma cadeia formada de caracteres, classes de caracteres ou expressões entre parênteses com modificadores para especificar regras de repetição.
A sintaxe da expressão regular suportada é um subconjunto de expressões regulares do Esquema XML. Para obter a sintaxe completa, consulte Apêndice F em Esquema XML Parte 2: Tipos de Dados que pode ser localizado no Web site W3C (World Wide Web Consortium).
A tabela a seguir lista os elementos de sintaxe de expressões regulares suportados:
Metacaractere | Significado |
\ | escape |
. | qualquer caractere único |
* | caractere precedente 0 ou mais vezes |
+ | caractere precedente 1 ou mais vezes |
? | caractere precedente 0 ou 1 vez |
{...} | ocorrências de 1 precedente |
[...] | corresponder uma das classes contidas |
[^...] | corresponder uma das classes não contidas 1 |
(...) | agrupar as expressões 1 |
| | corresponder precedente ou seguinte |
Seqüência de Escape | Significado |
\n | nova linha |
\r | retorno do carro |
\t | tab |
\e | escape |
Código de Classe | Significado |
\d | dígito [0-9] |
\D | não dígito [^0-9] 2 |
\s | espaço em branco [ \t\n\r] |
\S | sem espaço em branco [^ \t\n\r] 2 |
\p{L} | todas as letras 3 |
\p{N} | todos os números, semelhante a \d 4 |
[\p{N}\p{L}] | todos os números e todas as letras, semelhantes a \w 4 |
\P{L} | sem letras, equivalente a [^\p{L}] |
\P{N} | sem números, equivalente a [^\p{N}] |
Intervalo | Significado |
{n} | exatamente n vezes |
{n,} | pelo menos n vezes |
{n,m} | pelo menos n, mas não mais que m vezes |
{0,m) | zero a m vezes |
A tabela a seguir fornece alguns exemplos de regras de sintaxe para a sintaxe de expressões regulares. Consulte Utilizando Expressões Regulares para Analisar Elementos de Dados para obter alguns exemplos de sua utilização.
Padrão de Dados de Expressão Regular | Significado |
---|---|
a | Corresponder caractere "a" |
. | Corresponder qualquer caractere |
a+ | Corresponder uma cadeia de um ou mais "a" |
a* | Corresponder uma cadeia de zero ou mais "a" |
a? | Corresponder zero ou um "a" |
a{3} | Corresponder uma cadeia de exatamente três "a", ou seja, "aaa" |
a{3,} | Corresponder uma cadeia de três ou mais "a" |
a{2,4} | Corresponder uma cadeia com um mínimo de dois e um máximo de quatro ocorrências de "a" |
[abc] | Corresponder qualquer um dos caracteres "a", "b" ou "c" |
[a-zA-Z] | Corresponder qualquer caractere no intervalo de "a" a "z" ou no intervalo de "A" a "Z". Observe que o intervalo de caracteres correspondentes é baseado nos Unicodes dos caracteres especificados. |
[^abc] | Corresponder qualquer caractere, exceto um de "a", "b" ou "c" |
(ab)+ | Corresponder uma ou mais repetições da cadeia "ab" |
(ab)|(cd) | Corresponder qualquer uma das cadeias "ab" ou "cd" |