Um guia introdutório para expressões regulares
Expressões regulares, comumente conhecidas como regex ou regexp, são sequências de caracteres que formam padrões de pesquisa. Eles são usados principalmente para correspondência e manipulação de strings. Regex pode ser incrivelmente poderoso para pesquisar, substituir e extrair dados de texto.
Sintaxe Básica
Expressões regulares consistem em uma combinação de caracteres literais e caracteres especiais chamados metacaracteres. Aqui estão alguns componentes fundamentais:
- Caracteres Literais: Estes são os caracteres normais que correspondem entre si. Por exemplo, a regex
cat
corresponde à string "cat". - Metacaracteres: Esses caracteres têm significados especiais e são usados para construir padrões complexos. Os exemplos incluem
.
,*
,+
,?
,[]
,{}
,()
e|
.
Metacaracteres Comuns
Abaixo estão alguns dos metacaracteres mais comumente usados e suas funções:
.
- Corresponde a qualquer caractere, exceto uma 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.[]
- Usado para combinar 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.
Exemplos de padrões básicos
Vamos explorar alguns padrões básicos de regex com exemplos:
cat
Corresponde à string "cat" em qualquer lugar do texto.
.at
Corresponde a qualquer string contendo "a" seguido por qualquer caractere e depois "t". Por exemplo, "cat", "bat", "hat".
\d{3}
Corresponde exatamente a três dígitos. Por exemplo, "123", "456", "789".
[a-z]
Corresponde a qualquer letra minúscula de "a" a "z".
(dog|cat)
Corresponde a "dog" ou "cat".
Usando Regex na programação
Expressões regulares são suportadas em muitas linguagens de programação. Aqui estão exemplos de como usar regex em Python e JavaScript:
Exemplo de Python
import re
# Search for 'cat' in a string
pattern = r'cat'
text = 'The cat sat on the mat.'
match = re.search(pattern, text)
if match:
print('Match found:', match.group())
else:
print('No match found')
Exemplo de JavaScript
// Search for 'cat' in a string
const pattern = /cat/;
const text = 'The cat sat on the mat.';
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 processamento de texto e extração de dados. Ao compreender a sintaxe básica e os padrões comuns, você pode começar a utilizar regex em seus projetos para agilizar e aprimorar seus recursos de manipulação de texto. Pratique com diferentes padrões e explore os recursos avançados das expressões regulares para se tornar mais proficiente.