Caracteres, metacaracteres e metassequências

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

A expressão regular mais simples é aquela que corresponde a uma sequê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 metassequência , como um metacaractere, tem um significado especial em uma expressão regular. Uma metassequência é composta por mais de um caractere. As seções a seguir fornecem detalhes sobre o uso de metacaracteres e metassequências.

Sobre metacaracteres

A 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 ou xyz .

Sobre metassequências

As metassequências são sequências de caracteres que têm significado especial em um padrão de expressão regular. A tabela a seguir descreve essas metassequências:

Metassequê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 caractere A repetido 27 vezes.

/A{3,}/ corresponde ao caractere A 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.

\u nnnn

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.

\\x nn

Corresponde ao caractere com o valor ASCII especificado, como definido pelo número hexadecimal nn .