Aula 08 – 26/04
Trabalho para entrega - Correção exercícios aula passada – Revisão para
prova – Uso de expressões regulares - Informações 2º TAE.
Trabalho para Entrega
TAE
Árvores Rubro Negras
Árvores Rubro Negras
• É uma estrutura que tem como objetivo garantir o balanceamento de
uma árvores binárias.
• Cada nó é identificado por uma cor Rubro ou Negra.
• Dessa forma o fator de balanceamento é o nó ser rubro ou negro.
• Na declaração de uma estrutura de árvores rubro-negra vamos ter
uma variável que indica a cor(Rubro ou Negra).
• A árvores rubro-negras tem as seguintes propriedades
• A raiz sempre vai ser negra.
• Qualquer caminho da raiz até qualquer folha tem sempre o mesmo número
de nós pretos.
• Se um nó é rubro os seus filhos devem ser pretos.
• Com essas regras termos uma arvores rubro-negra e parcialmente
balanceadas.
• Se ao inserir um item na árvore as regras forem quebradas deve ser
feito rotações e trocas de cores na árvore.
Correção exercícios aula 06
Revisão para prova
Expressões regulares
Definição
• Da Wikipédia: “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.
• As expressões regulares são utilizadas para avaliar padrões em strings
realizando operações em conjunto de caracteres, são muito utilizadas
para validar entradas de dados, fazer buscas, e extrair informações de
textos.
• Expressões regulares são utilizadas por editores de texto, linguagem
de programação, programas utilitários, IDE de desenvolvimento.
• As expressões regulares também são chamadas de Regex e são
independente de linguagem de programação pois seguem o mesmo
padrão. As expressões regulares não validam dados apenas verificam
se estão em uma determinadas máscara.
• As expressões regulares são formadas por metacarateres formando
um padrão para obter uma casamento entre os metacrateres e o
texto.
Termos utilizados
• Casar: Tem o significado de combinar uma expressão regular com um
texto, é quando metacaractres especificados na expressão regular
correspondem aos caracteres dos textos.
Ex: \d,\d casa com 9,1 já \d,\d não casa com 91.
• Metacaractere: é um caracteres que tem um significado especial na
regex. .
Curinga
Qualquer caractere
[...]
Conjunto
Qualquer caractere incluído no conjunto
[^...]
Conjunto negado
Qualquer caractere não incluído no conjunto
\d
Dígito
o mesmo que [0-9]
\D
Não-digito
o mesmo que [^0-9]
\s
Branco
\S
Não-branco
\w
Alfanumérico
\W
Não-alfanumérico
\
Escape
Faz com que o caracteres não seja avaliado na Regex
()
Grupo
É usado para criar um agrupamento de expressões
I
Significa OU
casa|bonita – pode ser casa ou bonita
*
Termo está no final da
expressão
Termo está no início da
expressão.
casa* - bonitacasa.
Não pode ser casabonita
^casa – casabonita.
Não pode ser bonitacasa
^
o mesmo que [a-zA-Z0-9_]
• Quantificadores (são tipos de metacaracteres): Define o número
permitido de repetições da expressão regular.
{n}
Exatamente n ocorrências
{10}
{n,m}
No mínimo n ocorrências e no máximo m
{4,5}
{n,}
No mínimo n ocorrências
{20,}
{,n}
No máximo n ocorrências
{,15}
?
0 ou 1 ocorrência
car?ro – caro ou carro.
+
1 ou mais ocorrência
*
0 ou mais ocorrência
ca*ro –carro, carrro, carrrro.
Nunca será caro.
ca*ro – caro, carro, carro, carrrro
Exemplos
As expressões regulares devem inicial com ^ e terminal com $
^\d{5}-\d{3}$
^[A-Z]{3}\d{4}$
Validar o CEP Metacaracteres \d
Quantificador {5}
Hifen
Meta caracteres \d
Quantificador {5}
Placa de um Espeficicador [A-Z]
automóvel
Quantificador {3}
Metacaracteres \d
Quantificador {4}
Casado: 89900-000, 87711000.
Não Casado: 87711-00077,
89900000.
Casado: ACB1234,
Não casado: ACB12345
Usando Expressões regulares em Delphi:
• O recurso para uso de expressões regulares foi incluído no Delphi a
partir da versão XE. Anteriormente se utilizava componentes de
terceiros.
• A record TRegEx é a principal recurso para manipular expressões
regulares, esse record está disponível na unit
System.RegularExpressions.
• A função mais comum e utilizada para validar expressões regulares e
a IsMatch, essa função está presente na regex TRegEx e casa uma
expressão regular com um texto retornado um valor Booleano.
• Dessa forma podemos armazenar a expressão regular em um variável
string e verificar o retorno com o valor a ser comparado.
Usando TRegEx
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if (TRegEx.IsMatch('^\d{5}-\d{3}$', ‘89900-000')) then
ShowMessage('RegEx casado')
else
ShowMessage('RegEx não casado')
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
ExpressaoRegular: TRegEx;
begin
ExpressaoRegular := TRegEx.Create('^\d{5}-\d{3}$');
if (ExpressaoRegular.IsMatch('ACB1324')) then
ShowMessage('RegEx casado')
else
ShowMessage('RegEx não casado')
end;
Download

Slides