A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Expressões Regulares – Estruturas de Dicionários

Apresentações semelhantes


Apresentação em tema: "Expressões Regulares – Estruturas de Dicionários"— Transcrição da apresentação:

1 Expressões Regulares – Estruturas de Dicionários
Aula 10 Expressões Regulares – Estruturas de Dicionários

2 Expressões regulares

3 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.

4 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.

5 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.

6 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 o mesmo que [a-zA-Z0-9_]  \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 casa* - bonitacasa. Não pode ser casabonita ^ Termo está no início da expressão. ^casa – casabonita. Não pode ser bonitacasa

7 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 Ca+ro –carro, carrro, carrrro. Nunca será caro. * 0 ou mais ocorrência ca*ro – caro, carro, carro, carrrro

8 Exemplos As expressões regulares devem inicial com ^ e terminal com $
^\d{5}-\d{3}$ Validar o CEP Metacaracteres \d Quantificador {5} Hifen Meta caracteres \d Casado: , Não Casado: , ^[A-Z]{3}\d{4}$ Placa de um automóvel Espeficicador [A-Z] Quantificador {3} Quantificador {4} Casado: ACB1234, Não casado: ACB12345

9 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.

10 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.

11 Usando TRegEx procedure TForm1.BitBtn1Click(Sender: TObject); begin if (TRegEx.IsMatch('^\d{5}-\d{3}$', ‘ ')) 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;

12 Estruturas de dicionários

13 Definição Estrutura de dicionários são representadas por coleções de dados genéricos compostos por um dados chamado de chave e outro dado chamado de valor.   São estruturas muito semelhantes a vetores, porem o índice de um dicionário passa a ser chamado de chave. A chave não pode ser repetida e pode ser qualquer tipo de dado. Estruturas de dicionários também são conhecidos como arrays associativos ou maps. A implementação de estruturas de dicionários pode ser feita utilizando “Tabelas Hash” ou “Árvores”

14 Exemplos de estruturas de dicionários
Java Map<String, String> dicionário = new HashMap<String, String>; dicionario.put("Gato", "Cat“; dicionario.put("Cachorro", "Dog"); dicionario.put("Casa", "Home"); dicionario.put("Filho", "Son"); dicionario.get("Gato"); dicionario.remove("Casa")

15 PHP $dicionario = array( "Gato" => "Cat", "Cachorro" => "Dog",
"Casa" => "Home", "Filho" => "Son" ); echo $dicionario["Casa"]; unset($dicionarioy["Casa"]); array_push( $dicionario, array( "Pai" => "Father" ) );

16 Python dicionario = {'Gato': 'Cat', 'Cachorro': 'Dog', 'Casa': 'Home', 'Filho':'Son'} print dicionario['Gato'] del dicionario['Gato'] dicionario['Pai'] = 'Father'

17 Delphi var Dicionario: TObjectDictionary<String, String>; begin
Dicionario: TObjectDictionary<String, String>.Create(); try Dicionario.Add('Gato', 'Cat'); Dicionario.Add('Cachorro': 'Dog'); Dicionario.Add('Casa', 'Home'); Dicionario.Add('Filho':'Son'); Dicionario.Remove('Casa'); ShowMessage( Dicionario.Items['Filho'] ); finally FreeAndNil(Dicionario); end;  end;

18 Dicionários em Delphi Em Delphi a classe TObjectDictionary da unit Generics.Collections é utilizada para implementar estruturas de dicionários. Lembre-se: Estruturas de dicionário utilizam pares de chave e valor para serem implementadas. O Delphi utiliza tabelas hash para implementar dicionários, dessa forma ao inserir uma chave é calculado um hash com base na chave, dessa forma internamente os itens são acessados por esse hash. As tabelas de hash são otimizados para efetuar pesquisas.

19 Lembre-se: Tanto a chave quanto o valor pode ser de qualquer tipo de dados (inteiro, record, classe, etc.).

20 Declarando a variável dicionário
var Dicionario: TObjectDictionary<Integer, String>; Criando/Destruindo o dicionário Dicionario: TDictionary<Integer, String>.Create(); FreeAndNil(Dicionario)

21 Inserindo um item no dicionário
If Dicionario.ContainsKey(‘11') then Dicionario.Add( 12, “Fulano de Tal” ); Removendo um item do dicionário Dicionario.Remove( 12 );

22 Acessando um item no dicionário
Dicionario.Items( 12 ); Percorrendo chaves e valores for Chave in Dictionary.Keys do begin // Seu código end for Valor in Dictionary.Values do begin // Seu código end

23 Principais métodos do TObjectDictionary
Add(Key, Value) Adiciona um item no dicionário Parâmetros: Chave e Valor Remove(Key) Remove um item do dicionário Parâmetro: Chave ContainsKey(Key) Verifica se uma chave existe no dicionário Items[Key] Acessa o item do dicionário com base na chave. Dictionary.Clear Apaga todos os valores da lista


Carregar ppt "Expressões Regulares – Estruturas de Dicionários"

Apresentações semelhantes


Anúncios Google