Uma expressão regular é composta por uma combinação de caracteres literais e metacaracteres (caracteres com significado especial).
Caracteres Literais:
Combinam-se exatamente como são. Ex: abc
encontrará a sequência "abc".
Metacaracteres (Principais):
.
(Ponto): Combina com qualquer caractere (exceto nova linha).
a.c
combina com "abc", "adc", "axc", etc.^
(Circunflexo): Combina o início da string.
^abc
combina com strings que começam com "abc".$
(Cifrão): Combina o fim da string.
abc$
combina com strings que terminam com "abc".ab*c
combina com "ac", "abc", "abbc", "abbbc", etc.+
(Mais): Uma ou mais ocorrências do caractere/grupo anterior.
ab+c
combina com "abc", "abbc", "abbbc", mas não com "ac".?
(Interrogação): Zero ou uma ocorrência (opcional) do caractere/grupo anterior.
colou?r
combina com "color" e "colour".{n}
: Exatamente n
ocorrências.
a{3}b
combina com "aaab".{n,m}
: De n
a m
ocorrências (inclusive).
a{2,4}b
combina com "aab", "aaab", "aaaab".|
(Barra Vertical): OU lógico.
gato|cachorro
combina com "gato" ou "cachorro".()
(Parênteses): Agrupamento. Usado para agrupar padrões ou para "capturar" partes da string.
(ab)+
combina com "ab", "abab", "ababab".[]
(Colchetes): Conjunto de caracteres. Combina com qualquer UM dos caracteres dentro dos colchetes.
[aeiou]
combina com qualquer vogal.[0-9]
combina com qualquer dígito.[a-zA-Z]
combina com qualquer letra (maiúscula ou minúscula).[^abc]
combina com qualquer caractere exceto 'a', 'b' ou 'c'.Sequências Especiais (Atalhos):
\\d
: Combina com qualquer dígito (equivalente a [0-9]
).\\D
: Combina com qualquer não-dígito (equivalente a [^0-9]
).\\w
: Combina com qualquer caractere alfanumérico (letras, números e underscore). Equivalente a [a-zA-Z0-9_]
.\\W
: Combina com qualquer não-caractere alfanumérico.