Expressões Regulares no cotidiano Rafael Santiago
Tópicos Objetivo Utilização História Conceito Ferramentas Exemplos
Objetivo
Dizer algo abrangente de uma forma simplificada.
Tópicos Objetivo Utilização História Conceito Ferramentas Exemplos
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
(1943) – Funcionamento dos neurônios (1950) – Stephen Cole Kleene Escreveu modelos desses estudos Álgebra dos Conjuntos Regulares
História ( ) – 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
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.ciência da computação estrangeirismoinglêscadeias de caracteres linguagem formalinterpretadaprogramagerador de analisador sintáticocasam 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. (Ponto) [...] Lista
Representantes Quantificadores Âncoras Miscelâneas Metacaracteres ? * + {} ? * + {}
Representantes Quantificadores Âncoras Miscelâneas Metacaracteres ^ (Início de linha) $ ^ (Início de linha) $
Representantes Quantificadores Âncoras Miscelâneas Metacaracteres \ (escape) | (ou) (...) (grupo) \ (escape) | (ou) (...) (grupo)
Metacaracteres MetaMnemônico.ponto []lista [^]lista negada ?opcional *asterisco +mais { }chaves ^circunflexo $cifrão \bborda \escape |ou ( )grupo \1retrovisor
Atenção! Não confunda! Na linha de comando – ? e o * são curingas – Especificam nomes de arquivos
Interpretador REGEX
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
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?
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