Noções básicas de expressões regulares: Dominar a correspondência de texto do zero
O que são expressões regulares?
Expressões regulares (Regex) são ferramentas para descrever padrões de correspondência de strings. Elas podem ser usadas para:
- Validar formatos de entrada (e-mail, números de telefone, etc.)
- Pesquisar e substituir texto
- Extrair informações específicas
- Limpeza e processamento de dados
Sintaxe básica
Caracteres literais
As expressões regulares mais simples são caracteres comuns que correspondem a si mesmos:
``
hello corresponde a "hello"
123 corresponde a "123"
`
Caracteres especiais (metacaracteres)
| Caractere | Significado |
|---|
. | Corresponder a qualquer caractere único |
|---|
^ | Corresponder ao início da string |
|---|
$ | Corresponder ao final da string |
|---|
| Corresponder ao caractere anterior 0 ou mais vezes |
|---|
+ | Corresponder ao caractere anterior 1 ou mais vezes |
|---|
? | Corresponder ao caractere anterior 0 ou 1 vez |
|---|
\ | Escapar caracteres especiais |
|---|
Classes de caracteres
`
[abc] Corresponder a a, b ou c
[a-z] Corresponder a qualquer letra minúscula
[0-9] Corresponder a qualquer dígito
[^abc] Corresponder a qualquer caractere exceto a, b ou c
`
Classes de caracteres predefinidas
`
\d Corresponder a dígitos, equivalente a [0-9]
\D Corresponder a não dígitos
\w Corresponder a caracteres de palavra (letras, dígitos, sublinhado)
\W Corresponder a não caracteres de palavra
\s Corresponder a caracteres de espaço em branco
\S Corresponder a não caracteres de espaço em branco
`
Quantificadores
`
{n} Corresponder exatamente n vezes
{n,} Corresponder pelo menos n vezes
{n,m} Corresponder n a m vezes
`
Agrupamento e captura
Use parênteses () para criar grupos de captura:
`
(abc)+ Corresponder a um ou mais "abc"
(\d{4})-(\d{2})-(\d{2}) Corresponder a formato de data
`
Exemplos comuns de expressões regulares
Validação de e-mail
`
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
`
Validação de número de telefone (Brasil)
`
^\+?55\s?\(?\d{2}\)?\s?\d{4,5}-?\d{4}$
`
Correspondência de URL
`
https?:\/\/[\w\-]+(\.[\w\-]+)+[\w\-.,@?^=%&:/~+#]
`
Usando expressões regulares em JavaScript
`javascript
// Criar expressão regular
const regex = /hello/i; // i significa não diferenciar maiúsculas de minúsculas
// Testar correspondência
regex.test('Hello World'); // true
// Pesquisar correspondência
'Hello World'.match(/\w+/g); // ['Hello', 'World']
// Substituir
'Hello World'.replace(/World/, 'Regex'); // 'Hello Regex'
``
Usando EfficTools para testar expressões regulares
A melhor maneira de aprender expressões regulares é através da prática. Usando nossa ferramenta de teste de expressões regulares, você pode:
- Testar expressões regulares em tempo real
- Ver resultados de correspondência destacados
- Ver conteúdo de grupos de captura
- Suporte para múltiplas flags
Dicas de aprendizado
Resumo
Expressões regulares são uma habilidade que vale a pena investir tempo para aprender. Embora possam parecer complexas no início, uma vez que você domine a sintaxe básica, elas se tornarão sua poderosa assistente para processamento de texto.