Regex (Expressões Regulares)

Regex (Expressões Regulares)

March 13, 2025 | regex

Introdução #

As Expressões Regulares (Regex) são padrões usados para combinar sequências de caracteres em strings. Elas são amplamente utilizadas em linguagens de programação, ferramentas de busca e substituição, validação de dados, etc.


Símbolos Básicos #

SímboloDescriçãoExemploMatches
.Qualquer caractere (exceto \n)a.baab, acb, a1b
\dDígito (0-9)\d\d42, 78
\DNão dígito\D\Dab, @#
\wCaractere alfanumérico (a-z, A-Z, 0-9, _)\w\wab, 12, _Z
\WNão alfanumérico\W\W!!, $$
\sEspaço em branco (espaço, tab, nova linha)\s, \t, \n
\SNão espaço em branco\S\Sab, 12

Quantificadores #

QuantificadorDescriçãoExemploMatches
*Zero ou mais ocorrênciasa*"", a, aa
+Uma ou mais ocorrênciasa+a, aa, aaa
?Zero ou uma ocorrênciacolou?rcolor, colour
{n}Exatamente n ocorrências\d{3}123, 456
{n,}No mínimo n ocorrências\d{2,}12, 1234
{n,m}Entre n e m ocorrências\d{2,4}12, 1234

Âncoras #

ÂncoraDescriçãoExemploMatches
^Início da string^abcabc123
$Fim da stringxyz$123xyz
\bLimite de palavra\bword\bword, word
\BNão limite de palavra\Bword\Bswordfish

Classes de Caracteres #

ClasseDescriçãoExemploMatches
[abc]Qualquer caractere na lista[abc]a, b, c
[^abc]Qualquer caractere não na lista[^abc]d, 1, @
[a-z]Intervalo de caracteres[a-z]a, b, …, z
[0-9]Intervalo de dígitos[0-9]0, 1, …, 9

Grupos e Capturas #

ConstruçãoDescriçãoExemploMatches
(abc)Grupo de captura(abc)+abc, abcabc
`(ab)`Alternativa (OU)`(cat
\1, \2Referência a grupos capturados(\d)\111, 22
(?:abc)Grupo sem captura(?:abc)+abc, abcabc

Modificadores (Flags) #

FlagDescriçãoExemploMatches
iIgnora maiúsculas/minúsculas/abc/iabc, ABC
gGlobal (todas as ocorrências)/abc/gTodas as abc
mMultilinha (^ e $ funcionam por linha)/^abc/mabc\nabc
sPonto (.) inclui quebras de linha/a.c/sa\nc

Exemplos Práticos #

Validação de Emails #

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Validação de Números de Telefone #

^\+?[0-9]{1,3}?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$
  • Matches: +1-800-555-5555, +55 (11) 98765-4321

Extrair URLs #

https?:\/\/[^\s/$.?#].[^\s]*
  • Matches: http://example.com, https://www.site.com/path

Ferramentas Úteis #

  • Regex101 - Testador interativo de regex com explicações detalhadas.
  • RegExr - Outro testador interativo com tutoriais.
  • Debuggex - Visualizador gráfico de regex.

Observações Importantes #

  • Use \ para escapar metacaracteres (\., \+, etc.) quando precisar deles como literais.
  • Sempre teste suas expressões regulares em diferentes cenários para garantir a precisão.
  • Regex pode ser poderoso, mas também complexo. Prefira soluções simples sempre que possível.