Descrição
Conteudista: Prof. Me. Edeilson Silva
Revisão Textual: Prof.ª Dra. Selma Aparecida Cesarin
Material Teórico
Material Complementar
DESAFIO
Situação-Problema 1
Situação-Problema 2
Situação-Problema 3
Problema em Foco
ATIVIDADE
Atividade de Entrega
REFERÊNCIAS
Referências
1 / 8
Material Teórico
Olá, estudante!
Vamos iniciar a disciplina abordando os conceitos necessários para que você possa realizar a atividade através das situações-problema mais à frente.
Atenção, estudante! Aqui, reforçamos o acesso ao conteúdo online para que você assista à videoaula. Será muito importante para o entendimento do conteúdo.
Introdução
Esta Disciplina tem como objetivo apresentar temas atuais que favoreçam o seu aprendizado e os relacione às Disciplinas cursadas por você até o momento. Nesse sentido, trabalharemos com a temática das Expressões Regulares (ER), também conhecidas como Regular Expressions (RegEx). Elas permitem que padrões de caracteres sejam buscados, validados e substituídos, quando necessário.
Segundo Jargas (2012, p. 19) uma expressão regular é um método formal de se especificar um padrão de texto. Fitzgerald (2012) acrescenta a ideia de que essas strings (texto) são especialmente codificadas e utilizadas como padrões para combinar com outros conjuntos de strings. Na programação, string é um conjunto de caracteres cujo valor é texto. Dessa forma, grande parte das linguagens de programação, interfaces de desenvolvimento (IDE) e editores de texto têm esse recurso.
Trabalhar com expressões regulares exige bastante treino, pois haverá momentos que um simples: \d (abreviação que corresponde a qualquer dígito de 0 a 9) poderá resolver um problema, enquanto em outros, uma expressão mais complexa como ‘^\([1-9]{2}\) (?:[8|9][0-9]{4})-[0-9]{4}$’, será necessária. Essa expressão corresponde ao número de telefone móvel brasileiro com 11 dígitos, incluindo os parênteses para a identificação da cidade, espaço e um hífen entre os números. Veja o exemplo: (99) 99999-9999.
Para tentar deixar as coisas mais claras, vamos pensar em algo simples utilizando ER: imagine um hipotético viajante que está concluindo suas férias na cidade de Dublin. Ele está no centro da cidade e precisa chegar ao aeroporto. Sua busca por horários trouxe uma lista com paradas e horários do ônibus 782. Agora basta procurar embarques entre 4h30 e 4h35.
Tabela 1 – Paradas de ônibus
Location | Stop/Zone | Daily |
George’s Quay (Tara Street Station) | 135141 | 4:05 |
Aston Quay (O’Connell Bridge & Temple Bar) | 325 | 4:11 |
Wellington Quay (Temple Bar & Dublin Castle) | 312 | 4:28 |
Merchant’s Quay (Christ Church Cathedral) | 1444 | 4:30 |
Usher’s Quay (The Liberties & Guinness
Storehouse) |
10997 | 4:31 |
Heuston Station (Phoenix Park & Dublin Zoo) | 4425 | 4:32 |
Arran Quay (Smithfield & Jameson Distillery) | 7453 | 4:33 |
Location | Stop/Zone | Daily |
Ormond Quay Upper (Capel Street) | 1479 | 4:35 |
Eden Quay (O’Connell Street & Marlborough Street) | 297 | 4:40 |
Custom House Quay (Gardiner Street & Connolly Station) | 135271 | 4:43 |
Dublin Airport (Terminal 2)21 | 21 | 4:49 |
Dublin Airport (Terminal 1)1 | 1 | 4:56 |
Fonte: Adaptada de DUBLIN, s. d.
Obviamente que, nesse exemplo, você poderá simplesmente procurar o horário, sem necessidade de recursos computacionais. Mas as coisas nem sempre são simples.
Veja a Figura a seguir, que apresenta a timetable do 782, com paradas e horários divididos por dias da semana. Embora exija um pouco de esforço, ainda é possível localizar os horários desejados sem grandes dificuldades. Mas, e se precisássemos realizar essa busca utilizando o computador? Ou então, imagine que você, Analista de Sistemas do time, recebeu do Setor de Planejamento a missão de ajudar o time front-end a realizar a mudança desses horários no website da Empresa. A tarefa certamente não seria trivial, concorda? Como as expressões regulares poderiam ser úteis nesse caso?
Figura 1 – Busca de texto utilizando Expressões Regulares Fonte: Reprodução
#ParaTodosVerem: A imagem apresentada é um recorte de Our Dublin Airport stops, Disponível em https://www.dublinexpress.ie/. Com o fundo azul-escuro e letras em branco, o texto 782 está em destaque com um azul mais claro e texto branco. O título principal “Dublin Airport to Dublin City Centre & Heuston Station” está em branco. Abaixo existe uma tabela com os dias da semana nas colunas e as paradas do ônibus 782 no eixo x. A tabela tem as dimensões na cor azul e texto branco e o conteúdo com linhas azul-claro e escuro e texto branco. Fim da descrição.
Inicialmente, é preciso esclarecer que não há necessidade de conhecer Programação para aplicar uma REGEX. Basta que a ferramenta com a qual estamos trabalhando permita sua utilização. Com alusão ao cenário do viajante, basta procurar os embarques realizados entre 4h30 e 4h35 e podemos ajudá-lo usando o termo ‘^0[0-9]3[0-9]’.
Quanto à expressão apresentada, até o final da disciplina você terá aprendido o significado dela. Por enquanto, observe, na Figura 2, que apenas os horários definidos foram destacados e isso pode ser bastante útil em seu trabalho como analista.
Figura 2 – Busca de texto utilizando Expressões Regulares Fonte: Reprodução
#ParaTodosVerem: A Figura representa uma busca de texto utilizando Expressões Regulares. A Figura tem a barra de títulos e a barra de menus na cor cinza. O painel principal tem cor cinza-escuro e texto branco. O texto apresenta uma série de horários entre 04h05 e 09h36. Em destaque, estão os horários entre 4h30 e 4h35. No rodapé, com fundo cinza, existem diversos comandos e uma caixa de busca. Nela, a expressão regular ^0[0-9][:]3[0-9] aparece com diferentes cores. Por fim, a barra de status apresenta 5 matches, informando que 5 ocorrências foram encontradas. Fim da descrição.
Avaliações
Não há avaliações ainda.