SlideShare una empresa de Scribd logo
1 de 47
Expressões Regulares
     no 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
Ferramentas

•   Metacaracteres
•   Padrão (Pattern)      Semântica
•   Combinação (Match)
•   Interpretador de ER

                           • CPF
                           • Data
                           • Hora
Ferramentas
                              Casamento
•   Metacaracteres
•   Padrão (Pattern)
•   Combinação (Match)
•   Interpretador de ER

                          Palavra   Padrão
Metacaracteres
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

                      • . (Ponto)
•   Representantes    • [...] Lista

•   Quantificadores
•   Âncoras
•   Miscelâneas
Metacaracteres

•   Representantes    •?
                      •*
•   Quantificadores   •+
                      •{}
•   Âncoras
•   Miscelâneas
Metacaracteres

•   Representantes
•   Quantificadores
                      • ^ (Início de linha)
•   Âncoras           •$

•   Miscelâneas
Metacaracteres

•   Representantes
•   Quantificadores
•   Âncoras
                      •  (escape)
•   Miscelâneas       • | (ou)
                      • (...) (grupo)
Metacaracteres
          Meta     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
Interpretador
    REGEX
API Java
• java.util.regex
  – Matcher
  – Pattern


• java.lang
  – String
API Java
• java.util.regex         Cria o Padrão

  – Matcher
  – Pattern


• java.lang
  – String
API Java
• java.util.regex
  – Matcher                    Busca o Padrão

  – Pattern


• java.lang
  – String
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.com
http://br.linkedin.com/in/rmxsantiago

Más contenido relacionado

Similar a Expressões regulares

Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011JogosUnisinos
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFClaudson Oliveira
 
PHP, eu escolho você ! @ Vianna Júnior JF
PHP, eu escolho você !  @ Vianna Júnior JFPHP, eu escolho você !  @ Vianna Júnior JF
PHP, eu escolho você ! @ Vianna Júnior JFClaudson Oliveira
 
Histórico de linguagens e definições (foco em classes)
Histórico de linguagens e definições (foco em classes)Histórico de linguagens e definições (foco em classes)
Histórico de linguagens e definições (foco em classes)Vinicius Buffolo
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolsoJean Lopes
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPFabio Leal
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Introdução ao LaTeX (SECCOM 2012)
Introdução ao LaTeX (SECCOM 2012)Introdução ao LaTeX (SECCOM 2012)
Introdução ao LaTeX (SECCOM 2012)Matheus Braun Magrin
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Zarathon Maia
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptRogério Moraes de Carvalho
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Aula 02 operadores aritiméticos
Aula 02   operadores aritiméticosAula 02   operadores aritiméticos
Aula 02 operadores aritiméticosTácito Graça
 

Similar a Expressões regulares (20)

Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011
 
ANTLR & ANTTLRWorks
ANTLR & ANTTLRWorksANTLR & ANTTLRWorks
ANTLR & ANTTLRWorks
 
Félix do Carmo e Luís Trigo - Tradutores e máquinas de tradução
Félix do Carmo e Luís Trigo - Tradutores e máquinas de traduçãoFélix do Carmo e Luís Trigo - Tradutores e máquinas de tradução
Félix do Carmo e Luís Trigo - Tradutores e máquinas de tradução
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJF
 
PHP, eu escolho você ! @ Vianna Júnior JF
PHP, eu escolho você !  @ Vianna Júnior JFPHP, eu escolho você !  @ Vianna Júnior JF
PHP, eu escolho você ! @ Vianna Júnior JF
 
Histórico de linguagens e definições (foco em classes)
Histórico de linguagens e definições (foco em classes)Histórico de linguagens e definições (foco em classes)
Histórico de linguagens e definições (foco em classes)
 
Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolso
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHP
 
Flash ActionScript 3
Flash ActionScript 3Flash ActionScript 3
Flash ActionScript 3
 
Introdução a Python
Introdução a PythonIntrodução a Python
Introdução a Python
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
Regex
RegexRegex
Regex
 
Latex
LatexLatex
Latex
 
Introdução ao LaTeX (SECCOM 2012)
Introdução ao LaTeX (SECCOM 2012)Introdução ao LaTeX (SECCOM 2012)
Introdução ao LaTeX (SECCOM 2012)
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Aula 02 operadores aritiméticos
Aula 02   operadores aritiméticosAula 02   operadores aritiméticos
Aula 02 operadores aritiméticos
 
Clean code
Clean codeClean code
Clean code
 

Último

AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 

Último (20)

AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 

Expressões regulares

  • 1. Expressões Regulares no cotidiano Rafael Santiago
  • 2. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 4. Objetivo Dizer algo abrangente de uma forma simplificada.
  • 5. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 7. Utilização • Substituição • Validação • Realce de Sintaxe • Filtragem de informação Foco em padrões!
  • 8. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 10. História • (1943) – Funcionamento dos neurônios • (1950) – Stephen Cole Kleene • Escreveu modelos desses estudos • Álgebra dos Conjuntos Regulares
  • 11. História • (1965 - 1966) – Implementado QED (Quick EDitor) – Padrões em arquivos de texto – SDS 940
  • 12. História • (1971) – Ken Thompson • Unix ed • (1973) – Aplicativo grep • global / regular expression / print
  • 13. História • (1986) – Pacote regex • Pioneiro • Escrito na linguagem C • De graça!
  • 14. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 16. 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
  • 17. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 19. Ferramentas • Metacaracteres • Padrão (Pattern) Semântica • Combinação (Match) • Interpretador de ER • CPF • Data • Hora
  • 20. Ferramentas Casamento • Metacaracteres • Padrão (Pattern) • Combinação (Match) • Interpretador de ER Palavra Padrão
  • 22. 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.
  • 23. Metacaracteres • Representantes • Quantificadores • Âncoras • Miscelâneas
  • 24. Metacaracteres • . (Ponto) • Representantes • [...] Lista • Quantificadores • Âncoras • Miscelâneas
  • 25. Metacaracteres • Representantes •? •* • Quantificadores •+ •{} • Âncoras • Miscelâneas
  • 26. Metacaracteres • Representantes • Quantificadores • ^ (Início de linha) • Âncoras •$ • Miscelâneas
  • 27. Metacaracteres • Representantes • Quantificadores • Âncoras • (escape) • Miscelâneas • | (ou) • (...) (grupo)
  • 28. Metacaracteres Meta Mnemônico . ponto [] lista [^] lista negada ? opcional * asterisco + mais {} chaves ^ circunflexo $ cifrão b borda escape | ou () grupo 1 retrovisor
  • 29. Atenção! Não confunda! • Na linha de comando – ? e o * são curingas – Especificam nomes de arquivos
  • 30. Interpretador REGEX
  • 31. API Java • java.util.regex – Matcher – Pattern • java.lang – String
  • 32. API Java • java.util.regex Cria o Padrão – Matcher – Pattern • java.lang – String
  • 33. API Java • java.util.regex – Matcher Busca o Padrão – Pattern • java.lang – String
  • 34. API Java • java.util.regex – Matcher – Pattern • java.lang – String • matches • replaceFirst • replaceAll
  • 35. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 37. Validação de dados que seguem um certo formato • Verificar se o formato é válido • Aplicar máscara • Critérios de Aceitação
  • 39. Validação com Substring da classe String
  • 40. Validação com ReplaceAll da classe String (Regex)
  • 41. Aplicando máscaras com Pattern (Regex)
  • 43. Tópicos • Objetivo • Utilização • História • Conceito • Ferramentas • Exemplos
  • 45. 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
  • 47. Obrigado! Rafael Santiago rmxsantiago@gmail.com http://br.linkedin.com/in/rmxsantiago