expressões regulares
Post on 20-Jun-2015
6.062 Views
Preview:
DESCRIPTION
TRANSCRIPT
Expressões Regularesno cotidiano
Rafael Santiago
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Objetivo
Objetivo
Dizer algo abrangente de uma forma simplificada.
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Utilização
Utilização
• Substituição• Validação• Realce de Sintaxe• Filtragem de informação
Foco em padrões!
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
História
História
• (1943)– Funcionamento dos neurônios
• (1950)– Stephen Cole Kleene
• Escreveu modelos desses estudos• Álgebra dos Conjuntos Regulares
História
• (1965 - 1966)– Implementado QED (Quick EDitor)– Padrões em arquivos de texto– SDS 940
História
• (1971)– Ken Thompson
• Unix ed
• (1973)– Aplicativo grep
• global / regular expression / print
História
• (1986)– Pacote regex
• Pioneiro• Escrito na linguagem C• De graça!
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Conceito
Conceito
Em ciência da computação, uma expressão regular (ou o estrangeirismo regex, abreviação do inglês regular expression) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. Expressões regulares são escritas numa linguagem formal que pode ser interpretada por um processador de expressão regular, um programa que ou serve um gerador de analisador sintático ou examina o texto e identifica partes que casam com a especificação dada.
Wikipedia – 24/04/2012
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Ferramentas
• Metacaracteres• Padrão (Pattern)• Combinação (Match)• Interpretador de ER
Semântica
• CPF• Data• Hora
Ferramentas
• Metacaracteres• Padrão (Pattern)• Combinação (Match)• Interpretador de ER
Casamento
PadrãoPalavra
Ferramentas
Metacaracteres
• O que são metacaracteres?
São caracteres que possuem um significado especial
(ao invés do significado literal) em um programa de
computador.
Metacaracteres
• Representantes• Quantificadores• Âncoras• Miscelâneas
Metacaracteres
• Representantes• Quantificadores• Âncoras• Miscelâneas
Metacaracteres
• . (Ponto)• [...] Lista
• Representantes• Quantificadores• Âncoras• Miscelâneas
Metacaracteres
• ? • *• +•{}
• Representantes• Quantificadores• Âncoras• Miscelâneas
Metacaracteres
• ^ (Início de linha)• $
• Representantes• Quantificadores• Âncoras• Miscelâneas
Metacaracteres
• \ (escape)• | (ou)• (...) (grupo)
MetacaracteresMeta Mnemônico
. ponto[] lista[^] lista negada? opcional* asterisco+ mais{ } chaves^ circunflexo$ cifrão\b borda\ escape| ou
( ) grupo\1 retrovisor
Atenção!Não confunda!
• Na linha de comando– ? e o * são curingas– Especificam nomes de arquivos
InterpretadorREGEX
API Java
• java.util.regex– Matcher– Pattern
• java.lang– String
API Java
• java.util.regex– Matcher– Pattern
• java.lang– String
Cria o Padrão
API Java
• java.util.regex– Matcher– Pattern
• java.lang– String
Busca o Padrão
API Java
• java.util.regex– Matcher– Pattern
• java.lang– String
• matches• replaceFirst• replaceAll
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Exemplos
Validação de dados que seguem um certo formato
• Verificar se o formato é válido• Aplicar máscara• Critérios de Aceitação
Validação com StringTokenizer
Validação com Substring da classe String
Validação com ReplaceAll da classe String (Regex)
Aplicando máscaras com Pattern (Regex)
Critério de Aceitação
Tópicos
• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
Por que usar ER?
Por que usar ER?
• Redução de código• Facilidade de manutenção• Otimizar buscas feitas em funções de
busca/substituição em editores de texto
Dúvidas?
Obrigado!Rafael Santiago
rmxsantiago@gmail.comhttp://br.linkedin.com/in/rmxsantiago
top related