Um tutorial para iniciantes em expressões regulares
Expressões regulares, muitas vezes abreviadas como regex ou regexp, são sequências de caracteres que definem um padrão de pesquisa. Eles são comumente usados para correspondência de strings, substituição de substrings e extração de informações de texto.
Por que aprender expressões regulares?
Aprender expressões regulares pode melhorar muito sua capacidade de lidar com dados de texto. Com regex, você pode:
- Procure padrões específicos no texto.
- Valide dados de entrada, como endereços de e-mail e números de telefone.
- Extraia partes específicas de um texto, como datas e URLs.
- Substitua substrings no texto com base em padrões.
Componentes básicos de expressões regulares
Regex é composto de caracteres literais e metacaracteres. Aqui estão alguns dos componentes básicos:
- Caracteres literais: Caracteres que combinam entre si. Por exemplo,
a
corresponde a "a". - Metacaracteres: Caracteres especiais com significados específicos, como
.
,*
,+
e?
.
Metacaracteres comuns e seus significados
Compreender os metacaracteres é a chave para dominar o regex. Aqui estão alguns dos mais comumente usados:
.
- Corresponde a qualquer caractere, exceto nova linha.*
- Corresponde a 0 ou mais repetições do elemento anterior.+
- Corresponde a 1 ou mais repetições do elemento anterior.?
- Corresponde a 0 ou 1 repetição do elemento anterior.[]
- Corresponde a qualquer um dos caracteres entre colchetes.{}
– especifica um número específico de ocorrências do elemento anterior.()
- Agrupa vários tokens e cria grupos de captura.|
- Atua como um operador OR.
Padrões Regex básicos com exemplos
Vejamos alguns padrões básicos de regex e como eles funcionam:
cat
Corresponde à string exata "cat".
.at
Corresponde a qualquer string contendo um único caractere seguido por "at", como "cat", "bat", "hat".
\d{3}
Corresponde exatamente a três dígitos, como "123", "456", "789".
[a-z]
Corresponde a qualquer letra minúscula de "a" a "z".
(dog|cat)
Corresponde a "dog" ou "cat".
Usando Regex em linguagens de programação
Expressões regulares são amplamente suportadas em diversas linguagens de programação. Aqui estão exemplos de uso de regex em Python e JavaScript:
Exemplo de Python
import re
# Search for 'dog' in a string
pattern = r'dog'
text = 'The dog barked loudly.'
match = re.search(pattern, text)
if match:
print('Match found:', match.group())
else:
print('No match found')
Exemplo de JavaScript
// Search for 'dog' in a string
const pattern = /dog/;
const text = 'The dog barked loudly.';
const match = text.match(pattern);
if (match) {
console.log('Match found:', match[0]);
} else {
console.log('No match found');
}
Conclusão
As expressões regulares são uma ferramenta poderosa para quem lida com processamento de texto. Ao compreender e praticar os componentes e padrões básicos, você pode melhorar significativamente sua capacidade de lidar e manipular texto em seus projetos de programação. Experimente diferentes padrões e aprofunde seu conhecimento para desbloquear todo o potencial do regex.