Contextualização
Introdução
Expressões regulares, também conhecidas como regex
ou regexp
, são uma ferramenta essencial no mundo da programação. Seu papel é identificar padrões em textos, o que as torna indispensáveis em diversas tarefas, como busca avançada em strings, substituição de texto e manipulações mais complexas. Embora sua sintaxe possa parecer desafiadora no início, com um pouco de prática, você verá que as expressões regulares são uma poderosa ferramenta que agrega valor imenso às suas habilidades de programação em Python.
Conectando com a prática
Quase toda plataforma digital utiliza expressões regulares. Pense em um mecanismo de busca como o Google. Cada vez que você digita uma consulta, ele usa expressões regulares para analisar e buscar os resultados relevantes. Ou pense em seu aplicativo de email, que utiliza expressões regulares para validar se o endereço de email que você digitou é válido. Sites de redes sociais, ferramentas de edição de texto, sistemas de banco de dados e até mesmo a linguagem de programação Python - todos usam expressões regulares intensivamente.
No mundo do desenvolvimento web, por exemplo, as expressões regulares são usadas para tarefas como validação de entrada de usuário, manipulação de texto e busca em textos. Além disso, no campo da ciência de dados, as expressões regulares são indispensáveis para a manipulação e limpeza de dados. Com a enorme quantidade de dados disponíveis na web, a capacidade de efetivamente buscar e extrair informações dentro desses dados é uma habilidade extremamente valiosa a se dominar.
Material Para Estudo:
- Livro "Python Cookbook" de David Beazley e Brian K. Jones. Esse livro fornece soluções para diversos problemas comuns em Python, incluindo um capítulo inteiro sobre como usar expressões regulares para buscar e alterar texto.
- Documentação Oficial do Python para o módulo
re
: - Tutorial sobre Expressões Regulares em Python no Real Python:
- Video tutorial "Learn Python Regular Expressions by Example" do Corey Schafer no YouTube:
Atividade Prática
Desvendando Textos com Expressões Regulares em Python
Objetivo do Projeto
O objetivo deste projeto é aplicar a teoria de expressões regulares (regex) para resolver desafios relacionados à texto utilizando a linguagem de programação Python. Ao final do projeto, os alunos serão capazes de trabalhar com eficiência na manipulação de strings utilizando expressões regulares e, ao mesmo tempo, melhorar suas habilidades de comunicação e trabalho em equipe.
Materiais Necessários
- Python 3.x instalado em seu computador.
- Instale a biblioteca
re
para trabalhar com expressões regulares. - Um ambiente de programação Python, como Jupyter Notebook ou Google Colab.
- Datasets de textos para análise, como emails de spam, tweets, ou qualquer outro texto que o grupo escolher.
Tamanho do Grupo e Duração do Projeto
O projeto será realizado em grupos de 3 a 5 estudantes e deverá ser concluído em uma semana. A carga de trabalho efetiva por estudante será de duas a quatro horas.
Descrição do Projeto
O grupo será desafiado a desenvolver um programa Python que consiga extrair padrões específicos de um conjunto de textos utilizando expressões regulares. Os alunos escolherão um dataset de textos (ex: emails de spam, tweets, comentários de um blog, etc) e definirão um conjunto de problemas de extração de informação a serem resolvidos com regex.
Por exemplo, em um dataset de emails, os problemas podem ser: extrair todos endereços de email válidos; encontrar e contar todas as datas mencionadas nos emails; ou esconder informações sensíveis como números de telefone e CPFs.
Passo a Passo
- Escolha um dataset de texto para análise.
- Defina claramente pelo menos três desafios a serem resolvidos usando expressões regulares, icluindo uma breve descrição de cada um.
- Pesquise e estude profundamente sobre expressões regulares, utilizando os materiais sugeridos e outros que achar necessário.
- Desenvolva o código Python para resolver os desafios propostos.
- Teste e revise o seu código até que esteja bem otimizado e comentado.
- Documente o seu projeto em um relatório conforme a seção "Entregas do Projeto" abaixo.
Entregas do Projeto
O projeto final consistirá em:
-
O código Python completo, otimizado e bem comentado, incluindo uma breve descrição de cada função.
-
Um relatório detalhando o projeto. O relatório deve conter os seguintes tópicos:
a.
Introdução
: Uma descrição geral do projeto, a importância e aplicação de regex na vida prática.b.
Desenvolvimento
: Aqui os alunos descreverão em detalhes o dataset escolhido, os desafios propostos e como eles foram resolvidos com as expressões regulares. Além disso, devem detalhar o processo de pesquisa, aprendizagem e decisões de design no desenvolvimento do código Python.c.
Resultados
: Apresentação e discussão dos resultados obtidos para cada desafio.d.
Conclusão
: Conclusões sobre os resultados, as lições aprendidas, dificuldades encontradas, como elas foram superadas e o aprendizado geral com relação às expressões regulares.e.
Bibliografia
: Indicação das fontes consultadas para realização do projeto. -
Uma apresentação breve (10-15 mins) do projeto para a classe. A apresentação deve ser estruturada de acordo com o relatório e evidenciar o trabalho em equipe.