*   >> Leitura Educação Artigos >> science >> programação

Regex Agrupamentos Perl

de um padrão maior. Sub Cordas com Alternância no início da Cadeia Disponível em Grupo Vejamos o caso de sub strings com parte comum onde a correspondência tem de ocorrer no início da seqüência de caracteres disponíveis. Considere o seguinte padrão: /(^ x | y) z /A metacharacter âncora ^ é usado para corresponder a regex no início da seqüência de caracteres disponíveis. O padrão acima corresponde 'xz' no início da seqüência de caracteres disponíveis ou 'yz' em qualquer lugar na seqüência de caracteres disponíveis.

As seguintes expressões jogo: "xy 5678" = ~ /(^ x | y) z /"34 yz 56 G" = ~ /(^ x | y) z /More on Sub Cordas com Partes Comuns Imagine que você deseja corresponder "livro" ou "guarda-livros" ou "guarda-livros". O sub string "livro" ocorre nas três frases (sub strings). O sub string "guarda-livros" ocorre em duas das frases; e os contadores de cordas sub ocorrem em apenas uma das frases. Nosso objetivo nesta seção é desenvolver um padrão eficiente para combinar sub cordas, como os três acima.

Você pode fazer isso: /livro | contador | guarda-livros /O problema aqui (ineficiência) é que você tem que digitar "livro" três vezes e você tem que digitar "keeper" duas vezes. O seguinte padrão é eficiente: /livro (guarda-redes (s |) |) /Primeiro de tudo, observar aqui que você tem um grupo aninhado; grupos podem ser aninhados. Há também dois metacaracteres alternância, |; um dentro de um grupo aninhado interior; o outro dentro do grupo externo. No grupo aninhado interior, Perl tem que escolher entre "s" ou nada. No grupo exterior, Perl ainda tem que escolher entre "keeper (s |)" ou nada.

"livro" irá sempre ser escolhido. Desta forma, Perl irá corresponder "livro", "guarda-livros" ou "guarda-livros". A situação aqui é semelhante à primeira situação acima, mas é mais complexo aqui. Captura Jogos Os metacaracteres de agrupamento (), ou seja, os parênteses também servem a outro propósito completamente diferente: eles permitem a captura de sub cordas na seqüência disponível que combinava. Bem, o padrão não é geralmente uma palavra exata ou uma frase exata.

Após o encontro ocorreu com a seqüência de caracteres disponíveis, você pode saber exatamente a palavra ou frase na seqüência disponível que foi combinado? Sim, você pode saber isso, e é graças ao agrupamento. Até 9 grupos em um padrão pode ser lembrado quando ocorre correspondente. Em outras palavras, você pode saber até 9 sub cordas exatas na seqüência disponível, quando a correspondência ocorreu. Perl tem

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.