Escolas e Faculdades QI. Demétrius Loblein e Carlos Henrique EXPRESSÕES REGULARES

Documentos relacionados
Expressões Regulares. Tiago Alves de Oliveira

Treinamento em PHP Avançado

Como validar essa informação? A resposta é simples, através de expressões regulares.

Validação de dados no PHP

Localizar um determinado trecho de texto que só se tem idéia das variações possíveis.

Pág. 1 de 6

Curso de PHP. FATEC - Jundiaí TIPOS DE VARIÁVEIS

Expressões Regulares

MANIPULAÇÃO DE STRINGS

Escrever scripts de PHP com HTML

Operador ~, Função match Funções sub, gensub Função split. Variável IGNORECASE Função gsub, modificador g

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Prof. Esp. Andrew Rodrigues 1

4. Constantes. Constantes pré-definidas

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

CONDICIONAL / de SELEÇÃO / de DECISÃO

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Curso básico de JavaScript Aula 2

EXERCÍCIO DE SONDAGEM SEMESTRE DATAS: 21/06/2016 (TURMAS 01 E 02) Matrícula Nome Nota

Introdução a Javascript

Linguagem C. André Tavares da Silva.

Linguagem de programação Strings

Variáveis. Você pode ver as variáveis do sistema com os comandos printenv, env e set como mostra o exemplo abaixo:

3. Linguagem de Programação C

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Linguagens de Programação

Sintaxe da linguagem Java

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Working 03 : Conceitos Básicos I

Apostila - Desenvolvimento web com PHP

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

PROGRAMAÇÃO EM AMBIENTE WEB I

Introdução ao Fortran 90-4

Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C.

Linguagem de Programação III - PHP

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Ambiente de desenvolvimento

Google, Microsoft e Yahoo corrigem falha de segurança em serviços de

CONTEÚDO PROGRAMÁTICO

Compilação da linguagem Panda

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Funções Diversas. Filtro Exemplo validação de . Funções para Data e Hora

Operador in e Caracteres

Variáveis. Aula 05. Prof. Esp. Andrew Rodrigues

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Lógica de Programação. Lógica de Programação com Java

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Noções de algoritmos - Aula 1

Curso de PHP. FATEC - Jundiaí. A diferença a entre as matrizes e as arrays é que acrescentamos mais

Desenvolvendo aplicações Java

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim

Pseudocódigo e Visualg

I - CONCEITOS INICIAIS

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

JavaScript (Elementos de Programação e Programação Básica)

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Programação Estruturada Prof. Rodrigo Hausen VAMOS USAR O LINUX. SE TIVER ENTRADO NO WINDOWS, REINICIE O COMPUTADOR.

Revisão. Profa Marina Gomes

Fundamentos da linguagem PHP inserindo PHP no HTML. IFSC/Florianópolis - Prof. Herval Daminelli 1

Layout de integração com webservices de clientes. Serviço de autenticação do cooperado

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

POO Programação Orientada a Objetos. Classes e Objetos 2

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Introdução a Programação na Linguagem C.

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Processamento da Informação Teoria Funções

Prof. Esp. Fabiano Taguchi PHP. Como surgiu o PHP? PHP

Manipulação de Strings. Vanessa Braganholo

C A P I T U L O 5 C O M A N D O D E F L U X O

Ocorrem em três tipos:

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Introdução a programação Visão geral

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Diagramas Sintáticos

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

Curso de PHP. FATEC - Jundiaí

5 Busca Tratamento das Palavras-Chave de Entrada

Teoria e Implementação de Linguagens Computacionais. Especificação do projeto da disciplina (2006.1) Versão de 23/08/2006.

Minicurso de JavaScript PET Sistemas de Informação Segundo Dia Anthony Tailer. Clecio dos Santos. Rhauani Fazul.

Curso 500 Desenvolvimento

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PHP Histórico. Linguagens Server-side Professor Fábio Luís da Silva Santos

Descrição da Linguagem DECAF

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Linguagem de programação: Pascal

Laboratório de Programação II

Transcrição:

Escolas e Faculdades QI Demétrius Loblein e Carlos Henrique 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. Por exemplo, se o conjunto de palavras for {asa, carro, jardim, ovos, terra e a expressão regular buscar por um padrão rr, obterá as palavras carro e terra. Existem diferentes formatos para definir-se expressões regulares, porém com algumas noções gerais é possível entender boa parte das expressões. Conceito As Expressões Regulares (ER, Ereg ou RegEx para os mais íntimos), então, são um método rápido e simples de manipulação e combinação avançada de strings. Vamos partir do princípio! Uma expressão regular é essencialmente um padrão. É com base nesse padrão que a expressão em questão será avaliada. Primeiro vamos aprender a sintaxe das expressões para depois aprender como fazê-las funcionar Utilizando expressões regulares no PHP Agora que já aprendemos essa porrada de regras, temos que saber como aplicá-las! (Lembrando que este é o método POSIX. Caso você vá utilizar ER em outra linguagem, pode ter de fazer algumas adaptações) ereg() e eregi() Vou ensinar apenas essas duas Caso você queira se aprofundar mais, olhe no manual do php no capitulo de expressões regulares! :) int ereg(string padrão, string fonte [, array registro]); Esta função retorna TRUE se o padrão dado for encontrado na fonte e FALSE caso contrário. 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $email = 'mario@gmail.com'; $padrao = "^(.+)@(.+).(.+)$"; if (ereg($padrao,$mail)) { print 'Seu email passou na validacao'; else { print 'Seu email nao passou na validacao';?>

O que temos? A string dada deverá começar com algum caractere qualquer em qualquer quantidade, seguido de uma arroba, seguido de mais qualquer caractere em qualquer quantidade, seguido de um ponto literal, seguido de mais qualquer sequência de caracteres, que deverão então finalizar a string. A função eregi() se comporta de modo semelhante, porém não diferencia maiúsculas e minúsculas. Conclusão O mundo das expressões regulares é muito grande e abrangente. Com certeza não vai ser com essa passada de olho que você vai se tornar um expert em ER, mas serve pra dar uma noção do que elas são e para que servem! Expressões regulares no PHP Atualmente o PHP oferece duas maneiras distintas de trabalhar com expressões regulares, POSIX e PCRE, cada alternativa conta com um conjunto de funções, confira. Funções POSIX Objetivo ereg_replace Busca e substitui o que casar com a expressão. ereg Verifica se uma string casa com a expressão. eregi_replace Igual a ereg_replace, porém é case-insensitive. eregi Igual a ereg, porém é case-insensitive. split Divide uma string utilizando uma expressão. spliti Igual a split, porém é case-insensitive. sql_regcase Cria uma expressão regular para uma determinada entrada. Funções PCRE Objetivo preg_filter Busca e substitui, retornando as opções do array que casarem com a

Funções PCRE Objetivo expressão. preg_grep Retorna as opções de um array que casarem com a expressão. preg_last_error Retorna o código de erro da última expressão executada. preg_match_all Retorna as ocorrências de uma string que casarem com a expressão. preg_match Verifica se uma string casa com a expressão. preg_quote Adiciona escape em caracteres da expressão. preg_replace_callback Busca e executa um callback nas opções que casarem com a expressão. preg_replace Busca e substitui, retornando todas as opções. preg_split Divide uma string utilizando uma expressão. 8 expressões regulares muito úteis na hora de se programar em PHP, muitas delas utilizadas para validar e-mail, nomes de usuário, números telefônicos, e-mails entre outras. Validar nome de usuário Essa regra é para permitir usuários com nome de 4 a 28 caracteres, alfanuméricos e acentuados: $string = "username4234432_"; if (preg_match('/^[a-z\d_]{4,28$/i', $string)) { echo "example 1 successful."; Números telefônicos

Essa regra é para validar números de telefone, e os números devem ser escritos da seguinte maneira (###)###-####: $string = "(032)555-5555"; if (preg_match('/^(\(?[2-9]{1[0-9]{2\)? [0-9]{3,3[-. ]?)[ ][0-9]{3,3[-. ]?[0-9]{4,4$/', $string)) { echo "example 2 successful."; Endereços de e-mail A regra para validar e-mails é a seguinte: $string = "first.last@domain.co.uk"; if (preg_match( '/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4$/', $string)) { echo "example 3 successful."; Códigos Postais Permie utilizar números no seguinte formato: xxxxx e xxxxx-xxxx $string = "55324-4324"; if (preg_match('/^[0-9]{5,5([- ]?[0-9]{4,4)?$/', $string)) { echo "example 4 successful.";

Endereços IP Não é necessário efetuar PING ou qualquer coisa do tipo, essa regra é válida para verificar se os IPs foram escritos corretamente, como esse exemplo 255.255.255.0: $string = "255.255.255.0"; if (preg_match( '^(?:25[0-5] 2[0-4]\d 1\d\d [1-9]\d \d)(?:[.](?:25[0-5] 2[0-4]\d 1\d\d [1-9]\d \d)){3$', $string)) { echo "example 5 successful."; Cores Hexadecimais Você também pode verificar valores hexadecimais em suas 2 formas, a normal e a abreviada: (#333, 333, #333333 o 333333) com o símbolo # opcional $string = "#666666"; if (preg_match('/^#(?:(?:[a-f\d]{3){1,2)$/i', $string)) { echo "example 6 successful."; Buscar comentários multi-linha Uma forma simples de buscar e eliminar comentários multi-linha em PHP, CSS e outras linguagens:

$string = "/* commmmment */"; if (preg_match('/^[(/*)+.+(*/)]$/', $string)) { echo "example 7 successful."; Datas Um formato de data típico MM/DD/YYYY e sua validação é a seguinte: $string = "10/15/2007"; if (preg_match('/^\d{1,2\/\d{1,2\/\d{4$/', $string)) { echo "example 8 successful.";