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
.
|
|
|
|