Caracteres, metacaracteres e metaseqüênciasFlash Player 9 e posterior, Adobe AIR 1.0 e posterior
A expressão regular mais simples é aquela que corresponde a uma seqüência de caracteres, como no exemplo a seguir:
var pattern:RegExp = /hello/;
Entretanto, os seguintes caracteres, conhecidos como metacaracteres , têm significado especial nas expressões regulares:
^ $ \ . * + ? ( ) [ ] { } |
Por exemplo, a expressão regular a seguir corresponde à letra A seguida por nenhuma ou mais ocorrências da letra B (o metacaractere asterisco indica essa repetição), seguida pela letra C:
/AB*C/
Para incluir um metacaractere sem seu significado especial em um padrão de expressão regular, você deve usar o caractere escape de barra invertida (\). Por exemplo, a seguinte expressão regular corresponde à letra A seguida pela letra B, seguida por um asterisco e pela letra C:
var pattern:RegExp = /AB\*C/;
Uma metaseqüência, como um metacaractere, tem um significado especial em uma expressão regular. Uma metaseqüência é composta por mais de um caractere. As seções a seguir fornecem detalhes sobre o uso de metacaracteres e metaseqüências.
Sobre metacaracteresA tabela a seguir resume os metacaracteres que você pode usar em expressões regulares:
Metacaractere
|
Descrição
|
^ (circunflexo)
|
Correspondente ao início da string. Com o sinalizador m (multiline) definido, o circunflexo também corresponde ao início de uma linha (consulte Sinalizadores e propriedades). Observe que, quando utilizado no início de uma classe de caracteres, o circunflexo indica negação e não o início de uma string. Para obter mais informações, consulte Classes de caracteres.
|
$(sinal de dólar)
|
Correspondente ao fim da string. Com o conjunto de sinalizadores m (multiline), $ também corresponde à posição antes de um caractere de nova linha (\n). Para obter mais informações, consulte Sinalizadores e propriedades.
|
(barra invertida) \
|
Elimina o significado do metacaractere especial dos caracteres especiais.
Além disso, use o caractere de barra invertida se você quiser utilizar o caractere de barra em um literal de expressão regular, como em /1\/2/ (para corresponder ao caractere 1, seguido pelo caractere de barra e pelo caractere 2).
|
. (ponto)
|
Corresponde a qualquer caractere único.
Um ponto corresponde a um caractere de nova linha (\n) apenas se o sinalizador s (dotall) está definido. Para obter mais informações, consulte Sinalizadores e propriedades.
|
* (estrela)
|
Corresponde ao item anterior repetido nenhuma ou várias vezes.
Para obter mais informações, consulte Quantificadores.
|
+ (adição)
|
Corresponde ao item anterior repetido uma ou várias vezes.
Para obter mais informações, consulte Quantificadores.
|
? (ponto de interrogação)
|
Corresponde ao item anterior repetido nenhuma ou uma vezes.
Para obter mais informações, consulte Quantificadores.
|
( e )
|
Define grupos dentro de uma expressão regular. Use os grupos para:
Confinar o escopo do alternador |: /(a|b|c)d/
Definir o escopo de um quantificador: /(walla.){1,2}/
Em referências anteriores: Por exemplo, \1 na expressão regular a seguir corresponde àquilo que correspondeu ao primeiro grupo entre parênteses do padrão:
/(\w*) é repetido: \1/
Para obter mais informações, consulte Grupos.
|
[ e ]
|
Define uma classe de caracteres que define possíveis correspondências para um único caractere:
/[aeiou]/ corresponde a qualquer um dos caracteres especificados.
Nas classes de caracteres, use o hífen (-) para designar um intervalo de caracteres:
/[A-Z0-9]/ corresponde às letras maiúsculas de A a Z ou de 0 a 9.
Nas classes de caracteres, insira uma barra invertida para eliminar os caracteres ] e
-:
/[+\-]\d+/ corresponde a + ou- antes de um ou mais dígitos.
Nas classes de caracteres, outros caracteres - normalmente metacaracteres -, não tratados como caracteres normais (e não metacaracteres), sem a necessidade de usar uma barra invertida:
/[$]/£ corresponde a $ou £.
Para obter mais informações, consulte Classes de caracteres.
|
| (pipe)
|
Utilizado para alternação, para corresponder à parte do lado esquerdo ou do lado direito:
/abc|xyz/ corresponde a abc ouxyz.
|
Sobre metaseqüênciasAs metaseqüências são seqüências de caracteres que têm significado especial em um padrão de expressão regular. A tabela a seguir descreve essas metaseqüências:
Metaseqüência
|
Descrição
|
{n}
{n,}
e
{n,n}
|
Especifica um quantificador numérico ou intervalo de quantificador para o item anterior:
/A{27}/ corresponde ao caractereA repetido 27 vezes.
/A{3,}/ corresponde ao caractereA repetido 3 vezes.
/A{3,5}/ corresponde ao caractere A repetido de 3 a 5 vezes.
Para obter mais informações, consulte Quantificadores.
|
\b
|
Corresponde à posição entre um caractere de palavra e um diferente de palavra. Se o primeiro ou o último caractere na string for um caractere de palavra, ele também corresponderá ao início ou ao fim da string.
|
\B
|
Corresponde à posição entre dois caracteres de palavra. Também corresponde à posição entre dois caracteres diferentes de palavra.
|
\d
|
Corresponde a um dígito decimal.
|
\D
|
Corresponde a qualquer caractere diferente de dígito.
|
\f
|
Corresponde ao caractere feed de formulário.
|
\n
|
Corresponde ao caractere de nova linha.
|
\r
|
Corresponde ao caractere de retorno.
|
\s
|
Corresponde a qualquer caractere de espaço em branco (um caractere de espaço, tabulação, nova linha ou retorno).
|
\S
|
Corresponde a qualquer caractere diferente de um caractere de espaço em branco.
|
\t
|
Corresponde ao caractere de tabulação.
|
\unnnn
|
Corresponde ao caractere Unicode com o código de caractere especificado pelo número hexadecimal nn. Por exemplo, \u263a é um caractere smiley.
|
\v
|
Corresponde ao caractere feed vertical.
|
\w
|
Corresponde a um caractere de palavra (AZ–, az–, 0-9 ou_). Observe que \w não corresponde a caracteres diferentes de inglês, como é , ñ ouç .
|
\W
|
Corresponde a qualquer caractere diferente de um caractere de palavra.
|
\\xnn
|
Corresponde ao caractere com o valor ASCII especificado, como definido pelo número hexadecimal nn.
|
|
|