SlideShare uma empresa Scribd logo
1 de 39
Almir Mendes @m3nd3s Expressões Regulares
 
“ Um método formal de se especificar um padrão de texto”
Analise sua ER como um “robozinho”
Metacaracteres
Representantes
Ponto O Coringa
n.o nao não noo [email_address] n.o n o entendo
Lista A exigente
[  ...  ]
[Tt]eclado Teclado teclado 12[:. ]45 12:45 12.45 12 45
<[bip]> <b> <i> <[BIPbip]> <B> <I> <P> <p>
[0123456789] [0-9]
[a-z] [A-Z] [:-@] [a-zA-Z0-9]
[ ][- ] “ [ ”, “ ] ”, “ - ”
Classes POSIX [:upper:] [:lower:] [:alpha:] [:alnum:] [:digit:] [:xdigit:] [:punct:]
[[:upper:]] Considera acentuação
Lista Negada
[^0-9] Qualquer coisa, exceto números
[:;,.!?][^ ] [[:punct:]][^ ]
Quantificadores
? O opcional
fala[r!]? </?[BIPbip]>
Asterisco:  O tanto faz *
6*0 bi*p b[ip]*
Mais: o tem-que-ter +
6+0 bi+p b[ip]+
Chaves: o controle {n,m}
a{1,3}b [0-9]{6,} [a-z]{0,5} k{3}
Ancoras
Circunflexo: o início ^
^[a-z_] ^[0-9] ^[^0-9]
Cifrão: o fim $
^$ ^.{20,40}$
Borda: a limítrofe
dia dia dia dia
Outros
Ou: | Escape: Grupo: (...) Retrovisor:  ...
^((0[1-9])|(1[0-2]))$ [+-]?[0-9]+,[0-9]{2} [0-9]{2} ?[0-9]{4}-[0-9]{4}

Mais conteúdo relacionado

Destaque

Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalAlmir Mendes
 
Palestra de SED - Stream Editor
Palestra de SED - Stream EditorPalestra de SED - Stream Editor
Palestra de SED - Stream EditorAlmir Mendes
 
Teoria da Computacao Cap 2
Teoria da Computacao Cap 2Teoria da Computacao Cap 2
Teoria da Computacao Cap 2Marco Silva
 
Java 8 - Expressões Lambda e Stream API - DevCamp 2014
Java 8 - Expressões Lambda e Stream API - DevCamp 2014Java 8 - Expressões Lambda e Stream API - DevCamp 2014
Java 8 - Expressões Lambda e Stream API - DevCamp 2014Danival Calegari
 
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Felipe Silveira
 
Abordagem divertida sobre expressões regulares
Abordagem divertida sobre expressões regularesAbordagem divertida sobre expressões regulares
Abordagem divertida sobre expressões regularesLuis Gustavo Barreto
 
Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)Lucas Caton
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosTárcio Sales
 
Arduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco CoutinhoArduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco CoutinhoAlmir Mendes
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma AndroidRonildo Oliveira
 
Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Rayan Teixeira
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turingwab030
 
Expressões regulares, grep e sed - Bóson Treinamentos
Expressões regulares, grep e sed - Bóson TreinamentosExpressões regulares, grep e sed - Bóson Treinamentos
Expressões regulares, grep e sed - Bóson TreinamentosFábio dos Reis
 
Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sqlReuel Lopes
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Algoritmo Needleman-Wunsch
Algoritmo Needleman-WunschAlgoritmo Needleman-Wunsch
Algoritmo Needleman-WunschMarcos Castro
 

Destaque (19)

Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoal
 
Dicas de SSH
Dicas de SSHDicas de SSH
Dicas de SSH
 
Palestra de SED - Stream Editor
Palestra de SED - Stream EditorPalestra de SED - Stream Editor
Palestra de SED - Stream Editor
 
Teoria da Computacao Cap 2
Teoria da Computacao Cap 2Teoria da Computacao Cap 2
Teoria da Computacao Cap 2
 
Java 8 - Expressões Lambda e Stream API - DevCamp 2014
Java 8 - Expressões Lambda e Stream API - DevCamp 2014Java 8 - Expressões Lambda e Stream API - DevCamp 2014
Java 8 - Expressões Lambda e Stream API - DevCamp 2014
 
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
 
Abordagem divertida sobre expressões regulares
Abordagem divertida sobre expressões regularesAbordagem divertida sobre expressões regulares
Abordagem divertida sobre expressões regulares
 
Robocode
RobocodeRobocode
Robocode
 
Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Arduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco CoutinhoArduino Project - Ciclo de palestras CEET Vasco Coutinho
Arduino Project - Ciclo de palestras CEET Vasco Coutinho
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma Android
 
Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Expressões regulares, grep e sed - Bóson Treinamentos
Expressões regulares, grep e sed - Bóson TreinamentosExpressões regulares, grep e sed - Bóson Treinamentos
Expressões regulares, grep e sed - Bóson Treinamentos
 
Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sql
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Algoritmo Needleman-Wunsch
Algoritmo Needleman-WunschAlgoritmo Needleman-Wunsch
Algoritmo Needleman-Wunsch
 

Mais de Almir Mendes

Projeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAIProjeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAIAlmir Mendes
 
Palestra "Do PHP ao Rails" - FOCAI
Palestra "Do PHP ao Rails" - FOCAIPalestra "Do PHP ao Rails" - FOCAI
Palestra "Do PHP ao Rails" - FOCAIAlmir Mendes
 
Deploying Rails Applications with Capistrano
Deploying Rails Applications with CapistranoDeploying Rails Applications with Capistrano
Deploying Rails Applications with CapistranoAlmir Mendes
 
Palestra "Do PHP ao Rails"
Palestra "Do PHP ao Rails"Palestra "Do PHP ao Rails"
Palestra "Do PHP ao Rails"Almir Mendes
 
Arduino Project :: Giran Siege
Arduino Project :: Giran SiegeArduino Project :: Giran Siege
Arduino Project :: Giran SiegeAlmir Mendes
 
Integração contínua com Hudson CI
Integração contínua com Hudson CIIntegração contínua com Hudson CI
Integração contínua com Hudson CIAlmir Mendes
 
Palestra sobre AWK [Giran Siege]
Palestra sobre AWK [Giran Siege]Palestra sobre AWK [Giran Siege]
Palestra sobre AWK [Giran Siege]Almir Mendes
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 

Mais de Almir Mendes (10)

Arduino Project
Arduino ProjectArduino Project
Arduino Project
 
Projeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAIProjeto Arduino - Hardware para fazer coisas legais - FOCAI
Projeto Arduino - Hardware para fazer coisas legais - FOCAI
 
Palestra "Do PHP ao Rails" - FOCAI
Palestra "Do PHP ao Rails" - FOCAIPalestra "Do PHP ao Rails" - FOCAI
Palestra "Do PHP ao Rails" - FOCAI
 
Deploying Rails Applications with Capistrano
Deploying Rails Applications with CapistranoDeploying Rails Applications with Capistrano
Deploying Rails Applications with Capistrano
 
Palestra "Do PHP ao Rails"
Palestra "Do PHP ao Rails"Palestra "Do PHP ao Rails"
Palestra "Do PHP ao Rails"
 
Arduino Project :: Giran Siege
Arduino Project :: Giran SiegeArduino Project :: Giran Siege
Arduino Project :: Giran Siege
 
Integração contínua com Hudson CI
Integração contínua com Hudson CIIntegração contínua com Hudson CI
Integração contínua com Hudson CI
 
Palestra sobre AWK [Giran Siege]
Palestra sobre AWK [Giran Siege]Palestra sobre AWK [Giran Siege]
Palestra sobre AWK [Giran Siege]
 
Palestra de PDO
Palestra de PDOPalestra de PDO
Palestra de PDO
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 

Palestra regex