Simulador de Expressões Regulares para Livros



Documentos relacionados
Programando em PHP. Conceitos Básicos

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

0,5 pelo negrito das palavras ID, Nome, e Analisar em outro momento.

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Introdução ao HTML 5 e Implementação de Documentos

CAPITULO 5 COMANDO DE FLUXO IF

PAMIN PATRIMÔNIO, MEMÓRIA E INTERATIVIDADE

Programação Web Prof. Wladimir

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

DWEB. Design para Web. HTML5 - Marcação de formulário. Curso Superior de Tecnologia em Design Gráfico

Validando dados de páginas WEB

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

2 echo "PHP e outros.";

MANUAL. Laudos Online Convênios & Empresas.

Manual de Utilização

1 Natuur Online Cadastre-se Nome, Login Cadastrar.

WEBSITE. Como utilizar um site Assistente de Criação para criar seu próprio site

Instrução de Trabalho Base de Conhecimento

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

SIMULADOS & TUTORIAIS

PHP: Formulários e upload de múltiplos arquivos Por Alfred Reinold Baudisch 28 de fevereiro de 2006.

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Informática I. Aula 6. Aula 6-12/09/2007 1

REDE SOCIAL. Educação Profissional e Gestão da Tecnologia da Informação Álvaro Melo Vieira wemersonfigueredotec@oltlook.

Criando Quiz com BrOffice.impress

Logo abaixo temos a Barra de Menus que é onde podemos acessar todos os recursos do PHP Editor.

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Formulário (Send & Recieve) Prof. Celso H. Masotti

Aplicação Prática de Lua para Web

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

A importância da Senha. Mas por que as senhas existem?

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Receber intimações: poderão receber intimações em processos eletrônicos nos quais estejam vinculados.

Manual BitFarmácia Popular Versão 2 Software Autorizador Farmácia Popular

Relatório de Estágio Curricular

Características do PHP. Começando a programar

Criando um script simples

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

MANUAL DE PROCEDIMENTOS PARA CADASTRO DE PEDIDO DE COMPRA

Excel Planilhas Eletrônicas

Nome do Processo: Requisição Gera Múltiplos pedidos para Múltiplos Fornecedores

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

COMO FUNCIONA UM FORMULÁRIO

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Programa EndNote. Download para teste no site: (Atualmente o EndNote está na versão 5x)

PASSO A PASSO PARA UTILIZAÇÃO DO AMBIENTE WEB

Scriptlets e Formulários

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

CONSTRUÇÃO DE BLOG COM O BLOGGER

e-nota C Consulta de Nota Fiscal eletrônica

Processos Técnicos - Aulas 4 e 5

Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação

CIUCA Manual de Operação Versão 2.02 (Módulos I Cadastro e II - Credenciamento)

Manual Operacional do Plenoweb

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Programação para Internet I

Gestão inteligente de documentos eletrônicos

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Banco de Dados BrOffice Base

Manual Xerox capture EMBRATEL

Editor de Questões E24H

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI COORDENAÇÃO DE DESENVOLVIMENTO DE SISTEMAS

SuperStore Sistema para Gestão de Óticas. MANUAL DO USUÁRIO (Ordem de Serviço)

SISTEMA DE CONTROLE DE ACESSO, PARA AMBIENTE ACADÊMICO

NORMAS PARA EDITORAÇÃO E ENVIO DE TRABALHOS TÉCNICOS AO EVENTOS BRASIL 2014

OI CONTA EMPRESA MANUAL DO USUÁRIO

Manual do Visualizador NF e KEY BEST

Design 3D. Formação em Web WEB DESIGN 3D 1

Abaixo você conhecerá algumas técnicas de SEO utilizadas para obter grande sucesso com as postagens no WordPress.

CONVENÇÃO DE CÓDIGO JAVA

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo SISRH

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

COMPILADORES E INTERPRETADORES

Guia de instalação UEG Linux LTS

TCEnet. Manual Técnico. Responsável Operacional das Entidades

Procedimento Documentado. Sistema de Homologação de Cobrança. Versão 1.0. Departamento de Produtos e Serviços Página 1

Produção. Consórcio de Imóveis Sistema para venda de Consórcio Online

ANDROID APPLICATION PROJECT

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

Tutorial para envio de comunicados

Lógica de Programação

1 Essa é a tela de login do Sistema de Atendimento Online, siga o passo a passo abaixo.

MANUAL DE UTILIZAÇÃO DO SISTEMA DE NOTA FISCAL ELETRÔNICA e-nota

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Microsoft Office PowerPoint 2007

Personalizações do mysuite

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Transcrição:

1 Simulador de Expressões Regulares para Livros Everson F. Leite 1, Tiago Ap. Silva 1 1 Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais Câmpus Muzambinho (IFSULDEMINAS) - Estrada de Muzambinho, km 35 - Bairro Morro Preto - Cx. Postal 02 - CEP: 37890-000 - Fone: (35)3571-5051 Abstract. This article proposes a study and subsequent development of an application to validate regular expressions with emphasis on the ISBN (International Standard Book Number). First there will be an introduction to the history and characteristics with ISBN and other characteristic data of literary works and the methodology used in application development. Finally reaching the conclusions. Resumo. Este artigo propõe-se a um estudo e posterior desenvolvimento de uma aplicação para validar expressões regulares com ênfase no ISBN (International Standard Book Number). Primeiramente haverá uma introdução ao ISBN com história e características e outros dados característicos de obras literárias e a metodologia utilizada no desenvolvimento da aplicação. Chegando finalmente as conclusões obtidas. Palavras-chave: isbn, regex, livros, validação, aplicação Keywords: isbn, regex, books, validation, application

2 1. Introdução O livro, maior instrumento disseminador conhecido da 6ª arte, é o resultado de diversas melhorias feitas ao longo da história no tratamento do papel, conservação, acabamento e logicamente na escrita, a alma por assim dizer, sem a qual sua importância seria equivalente a qualquer papel comum encontrado no chão. Seja de ficção, história, biologia ou qualquer outro assunto; É um grande disseminador do conhecimento através dos séculos e seu legado perdura até hoje, inclusive com a disponibilização de obras em formato digital. Dada a sua importância e para manter certo controle sobre as inúmeras obras existentes foi necessária uma padronização para o registro dos livros, idéia essa aplicada pela editora W H Smith com o nome de "Standard Book Numbering" (SBN). Desde então passou a ser amplamente utilizada pelos vendedores de livros e pelas editoras até que em 1972, a International Organization for Standardization transformou-o em uma norma padrão internacional: a ISO 2108. Dada sua importância e, surgindo à iniciativa para a implementação de um simulador em Regex (Expressões regulares). Uma expressão regular, na Informática, define um padrão a ser usado para procurar ou substituir palavras ou grupos de palavras. É um meio preciso de se fazer buscas de determinadas porções de texto. O Simulador teria como objetivo validar a entrada de dados característicos de um livro dando ênfase no número ISBN tanto a versão 10 quanto a 13. Proposta esta a qual este artigo se destina a realizar.

3 2. Sobre o livro Um livro é um volume transportável, composto por páginas encadernadas, contendo texto manuscrito ou impresso e/ou imagens e que forma uma publicação unitária (ou foi concebido como tal) ou a parte principal de um trabalho literário, científico ou outro. A história do livro compreende uma série de inovações realizadas por diversos povos no intuito de gravar o conhecimento e passá-lo de geração em geração. O mundo não seria o mesmo se os povos não pudessem conhecer as idéias de seus antepassados. Um bom exemplo é a filosofia, que até hoje é calcada nas letras escritas por filósofos da antiga Grécia e Alemanha do século XIX e XX. International Standard Book Number, mais conhecido pela sua sigla ISBN, é o Número Padrão Internacional de Livro: um sistema identificador único para livros e publicações não periódicas. Foi criado no Reino Unido, em 1967, pela livraria W H Smith, sendo chamado inicialmente de "Standard Book Numbering" (SBN). Desde então, passou a ser amplamente empregado tanto pelos comerciantes de livros quanto pelas bibliotecas, até que, em 1972, a International Organization for Standardization transformou-o em uma norma padrão internacional: a ISO 2108. 2.b Sobre as Expressões Regulares Imagem 01 Exemplo de um número ISBN Também conhecida como REGEX, é uma composição de símbolos, caracteres com funções especiais, que, agrupados entre si e com caracteres literais, formam uma seqüência, uma expressão. Essa expressão é interpretada como uma regra que indicará sucesso se uma entrada de dados qualquer casarem com essa regra, ou seja, obedecer exatamente a todas as suas condições. (JARGAS, A. M., 2012)

4 3. Desenvolvimento da aplicação Para a criação da aplicação foi escolhida a linguagem PHP, uma linguagem interpretada bastante difundida no Mercado principalmente na área de desenvolvimento Web. O PHP em conjunto com o HTML (Linguagem de marcação de hipertexto) e o CSS oferecem os recursos computacionais para desenvolvimento da parte lógica e de design necessários ao simulador. Os passos para iniciar o desenvolvimento é o seguinte, primeiro constrói-se um formulário em HTML normalmente, utilizando o método POST. Todos a princípio são do tipo "text", note que existe uma combobox para verificar se o ISBN será do tipo 10 ou 13, isso se faz necessário pois cada um possui uma regex própria para tratar suas diferenças. <form name="form1" action="" method="post"></p> <p align="left">título: <input type="text" name="titulo" maxlength="60"></p> <p align="left">autor: <input type="text" name="autor" maxlength="65"></p> <p align="left">editora: <input type="text" name="editora" maxlength="45"></p> <p align="left">edição: <input type="text" name="edicao"></p> <p align="left">número de Páginas: <input type="text" name="numpaginas"></p> <p align="left">resumo: <input type="text" name="resumo"></p> <p align="left">isbn: <select name="opisbn"> <option value="10">isbn 10</option> <option value="13">isbn 13</option> </select></p> <p align="left"><input type="text" name="isbn"></p> <p align="left"><input type="submit" value="enviar"></p></form> Depois de criado o formulário, entramos na parte lógica da aplicação. Antes porém é interessante frisar a função empty do PHP, ela é responsável por verificar se a variável a ser analisada está vazia. Logicamente!empty realiza justamente o contrário ou seja, verifica se a variável tem algum conteúdo. Essa função será utilizada para que não existam erros caso seja invocado algum índice que ainda nem existe pois só são gerados após clicarse no botão submit de um formulário. Também é interessante citar a função preg_match que é utilizada para verificas as expressões regulares no PHP, ela pode ser utilizada da seguinte forma: preg_match ("regex", variavel). Segue então como ficaria um modelo do total de 7 que nossa aplicação teria: if ((!empty(variavel) && (preg_match("regex", variavel))) { echo "VÁLIDO<br>"; else { echo "<errado>inválido<br>"; $ok = FALSE;

5 No código acima verifica-se a variável tem algum conteúdo, isso não influencia em nada na regex, ele apenas previne o erro de chamar um índice que ainda não existe pois só seria criado ao clicar em submit do formulário. Se a expressão retornar verdadeiro entra no if e mostra que a entrada é válida, caso contrário imprime que ela foi considerada inválida e atribui o valor falso a variável ok. Essa variável é declarada no início do código com valor verdadeiro e se em apenas um caso a função preg_match retornar falso, ok será também falso e inviabilizará a construção do modelo de livro com todos os dados já validados. Os comandos que envolvem a regex seguirão o padrão mostrado anteriormente a não ser o ISBN, que como foi visto no esquema do formulário tem 2 campos dedicados ao ISBN, uma combobox perguntando que tipo de versão será analisada e o número propriamente dito. if (!empty($_post['opisbn'])) { if ($_POST['opisbn'] === '10') { if (preg_match("^[0-9]{9[[0-9] X x]$^", $_POST['isbn'])) { echo "<certo>isbn válido</certo><br>"; else { echo "<errado>isbn inválido</errado><br>"; $ok = FALSE; else if ($_POST['opisbn'] === '13') { if (preg_match("^(97(8 9))\d{9(\d X)$^", $_POST['isbn'])) { echo "<certo>isbn 13 válido</certo><br>"; else { echo "<errado>isbn 13 inválido</errado><br>"; $ok = FALSE; Obs: <certo> e <errado> são estilos de fontes pré-definidos no css. Primeiramente verificase o índice opisbn (a combobox) tem valor 10 ou 13. A partir daí a estrutura de decisão é similar ao modelo apresentado. O restante se resume quase que exclusivamente ao css e a aparência que ele irá determinar a aplicação. 3. 2 REGEX Utilizadas ^[aa-zz]+(([aa-zz]+)+)?$^ - É utilizada para os campos título, autor, editora e resumo. Sua função é não aceitar caracteres que não sejam letras. Ela aceita as letras do alfabeto maiúsculas e minúsculas, uma ou mais vezes. Depois ela aceita palavras também com letras

6 maiúsculas e minúsculas 1 ou mais vezes e essa segunda parte também pode ocorrer em mais de uma vez, ainda quanto à segunda parte pode ter uma ocorrência ou nenhuma ou seja, o primeiro bloco é obrigatório ( José ). Já o segundo pode ou não ocorrer ( José Maria ). ^([0-9])+$^ - É utilizada no campo número de páginas, só aceita números inteiros, com uma ou mais ocorrências. ^[0-9]{9(\d X x)$^ - É utilizada para o ISBN 10, ele aceita inteiros de 0 a 9 com 9 ocorrências depois aceita um número, X ou x para o identificador final do ISBN, totalizando 10 dígitos ^(97(8 9))\d{9(\d X x)$^ - É utilizada para validar o ISBN 13, primeiro verifica se os 3 primeiros dígitos são 978 ou 979 (Numeração reservada para obras literárias) depois 9 números inteiros e então verifica se o último digito e um inteiro, X ou x. 4. Conclusão Levando em conta o conhecimento adquirido com estudos sobre Regex e a linguagem PHP chega-se a conclusão a importância das expressões regulares para a computação. Encontrar, analisar e validar conteúdo que segue algum padrão tem inúmeras aplicações inclusive no mercado de trabalho, validando um email, url e etc. Essa técnica aplicada ao cadastro de livros é uma prova da possibilidade de validar formulários com uso de pouquíssima programação, com a vantagem de ter uma sintaxe similar em todas as linguagens que oferecem suporte as expressões regulares, sobressaindo-se, por exemplo, da necessidade de aplicar o Javascript em uma página PHP para realizar tal tarefa. O estudo e desenvolvimento dessa técnica ajudam no desenvolvimento lógico do indivíduo e refina sua capacidade em reconhecer padrões, podendo então tratá-lo a fim de poder classificá-lo como sendo válido ou não.

7 Referências Jargas, A.M. (2012), Expressões Regulares - Uma abordagem divertida, 4ª edição. Febvre, Lucien (1992), O aparecimento do livro. São Paulo : Unesp, 1992. Manual do Utilizador do ISBN (2005) 5ª Edição. International ISBN Agency International Standard Book Number Livro Wikipédia. Disponível em : http://pt.wikipedia.org/wiki/livro Jaques R., Entendendo as Expressões Regulares. Disponível em : http://www.phpit.com.br/artigos/entendendo-as-expressoes-regulares.phpit

8 Anexos Imagem 01: Tela Inicial da aplicação Imagem 02: Tela indicando a validação de todos os campos

Imagem 03: Modelo de livro com todos os campos validados e exibidos 9