SlideShare uma empresa Scribd logo
Globalcode – Open4education
Expressão Regular - Cookbook
Mario Guedes
Artesão de Software
Globalcode – Open4education
Um bom código
deve ser
autoexplicativo
e, óbvio, sem
comentários
Globalcode – Open4education
RegEx é Vida!
Poderosa ferramenta para manipulação de texto
“Tão simples quanto um comando de busca e tão poderoso
quanto uma linguagem de programação”
- Jeffrey E. F. Friedl
Presente em todas as linguagens e ferramentas de
desenvolvimento
Globalcode – Open4education
Temos 2 atores
Máquina RegEx: É a implementação da RegEx – onde
temos vários “sabores”. O Delphi adota a PCRE: Expressão
Regular Compatível com Perl
Linguagem hospedeira: É a linguagem que oferece e
interage com os recursos de RegEx.
No Delphi temos a unit: System.RegularExpressions
Globalcode – Open4education
Basicamente são 3 pilares
O padrão a ser combinado – A Expressão Regular
propriamente dita
O texto a ser analisado – Um texto alvo
Os modificadores – Sinalizadores que modificam
o comportamento da máquina RegEx
Globalcode – Open4education
Tem que ter “caractere” 
Uma regex é definida à partir de pequenas
unidades de blocos de montagem:
Meta-caractere: Caracteres com função especial
dentro da regex
Caractere literal: Caracteres sem função especial
dentro da regex
Globalcode – Open4education
Os meta-caracteres
Representantes: Representa um caractere, como o ponto ou uma lista
Quantificadores: Determina a quantidade de ocorrências de um átomo
Âncoras: Combina com uma determinada posição no texto alvo com o
circunflexo
Diversos: Todo o resto
Globalcode – Open4education
EXEMPLOS PRÁTICOS
Globalcode – Open4education
arrayof.io/DelphiRegEx.pdf
Globalcode – Open4education
5 estrelinhas por favor 
https://thedevconf.com/tdc/2019/avaliacao
Expressão Regular - Cookbook

Mais conteúdo relacionado

Semelhante a Expressão Regular - Cookbook

Cap02
Cap02Cap02
Cap02
mvbahamut
 
Cap02
Cap02Cap02
Cap02
mvbahamut
 
Cap02
Cap02Cap02
Cap02
mvbahamut
 
Ruby
RubyRuby
Apresentação final
Apresentação finalApresentação final
Apresentação final
valmon
 
Paradigmas da programacao apostila
Paradigmas da programacao apostilaParadigmas da programacao apostila
Paradigmas da programacao apostila
Nathiele Lacerda
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
Jorge Ávila Miranda
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
Carlos Wagner Costa
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
Valmon Gaudencio
 
Python tdc2019
Python tdc2019 Python tdc2019
Python tdc2019
Gisele Zomer Rossi
 
Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
FilipiAtaideArruda
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
Fabio Spanhol
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
Fábio Andrade
 
Bdd&tdd
Bdd&tddBdd&tdd
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
Jadna Almeida
 
Programação 1
Programação 1Programação 1
Programação 1
essa
 
Introdução á programação - 1ª parte
Introdução á programação - 1ª parteIntrodução á programação - 1ª parte
Introdução á programação - 1ª parte
Luis Fernandes
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
Sergio Henrique
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
tdc-globalcode
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Leinylson Fontinele
 

Semelhante a Expressão Regular - Cookbook (20)

Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Ruby
RubyRuby
Ruby
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
Paradigmas da programacao apostila
Paradigmas da programacao apostilaParadigmas da programacao apostila
Paradigmas da programacao apostila
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Python tdc2019
Python tdc2019 Python tdc2019
Python tdc2019
 
Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
 
Programação 1
Programação 1Programação 1
Programação 1
 
Introdução á programação - 1ª parte
Introdução á programação - 1ª parteIntrodução á programação - 1ª parte
Introdução á programação - 1ª parte
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
 

Último

PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
anpproferick
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
Rafael Santos
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
tnrlucas
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Annelise Gripp
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
anpproferick
 
Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
Ian Oliveira
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
EliakimArajo2
 

Último (7)

PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
 
Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
 

Expressão Regular - Cookbook