Texto :: Scan

pesquisa rápida por um número muito grande de chaves em um corpo de texto.
Baixe Agora

Texto :: Scan Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Ira Woodhead
  • Site do editor:
  • http://search.cpan.org/~tbusch/

Texto :: Scan Tag


Texto :: Scan Descrição

busca rápida para um grande número de chaves em um corpo de texto. Text :: Scan é um módulo Perl que oferece rápido procurar um grande número de chaves em um corpo de text.SYNOPSIS uso Text :: digitalização; $ DICT = new Text :: digitalização; % termos = (cão => 'caninos', urso => 'ursine', porco => 'suína'); # Carregar o dicionário com chaves e valores # (valores pode ser qualquer escalar, as chaves devem ser strings) while (($ key, $ val) = cada termos%) {$ dict-> insert ($-chave, $ val); } # Digitalizar um documento para partidas $ documentos = 'o cachorro comeu o urso, mas o cão tem indigestão'; % Encontrada = $ dict-> Varredura ($ documento); # Agora% encontrado é (dog => canino, urso => ursine) # Ou, se você precisa para contar o número de ocorrências de uma determinada tecla #, use um array. Isto lhe dará uma lista simples contável # de pares chave => valor. @found = $ dict-> Varredura ($ documento); # Agora @found é (dog => canino, urso => ursine, cão => canino) # Verificação de adesão ($ val é verdade) $ val = $ dict-> tem ( 'porco'); # Recuperar valor para determinada chave. Devoluções UNDEF se nenhuma tecla for encontrado. $ Val = $ dict-> val ($ key); # Recuperar todas as chaves. Retorna todas as chaves inseridas, a fim # de inserção @keys = $ dict-> keys (); # @Keys é (cão, urso, porco) # Recuperar todos os valores (em mesma ordem como chaves correspondente) # (novo na v0.10) @vals = $ dict-> values (); # @vals é (canino, ursine, suínos) # voltar tudo o que você inserido% de tudo = $ dict-> despejo (); # "Mindex" # Como índice do Perl (), mas com vários padrões (novas em v0.07) # Você pode procurar as posições de partida dos termos. @indices = $ dict-> mindex ($ documento); # @indices é (dog => 4, urso => 16, cão => 29) # O contexto de hash produz a posição da última ocorrência # de cada palavra% índices = $ dict-> mindex ($ documento); #% índices é (dog => 26, urso => 16) Classificação MultiScan () (> = v0.23) # Recupera tudo varredura () e mindex () faz, na forma # de uma matriz de referências. Cada referência aponta para uma lista # de (chave, índice, valor) @result = $ dict-> MultiScan ($ documento); # @Result é (, , ) # Ativar exame curinga. (> = V0.09) # Isso pode ser feito a qualquer hora. Obras de varredura () e mindex (). Wildcards # abranger qualquer número de caracteres não-single-espaço equivalente. $ Dict-> usewild (); # Salvar um dicionário, em seguida, restaurá-lo. (Serialize e restaurar novo em v0.14) # isso é legal, mas cuidado, todos os valores serão convertidos para strings. # Nota restaurar () é muito mais rápido do que a inserção original # chaves / valores. Estes return 0 em caso de sucesso, errno em caso de falha. $ Dict-> serialize ( "dict_name"); $ Dict-> restaurar ( "dict_name"); # Coloque uma classe de char equivalência mundial em vigor. Isto corresponde a todos # esses personagens como se fossem a mesma coisa. (V0.17) $ dict-> charclass ( ":;.?"); $ Dict-> inserção ( "O quê?", "O que?"); @found = $ dict-> Varredura ( "Err ... O que, alguma coisa errada?"); # Agora @found é ( "O que," => "O quê?"); # Digitalização caso insensível. Isso deve ser chamado antes de quaisquer inserções. $ Dict-> ignorecase (); # Definir uma classe de caracteres a ser os limites de qualquer jogo, # tal que os caracteres imediatamente antes do início e após o # fim de um jogo tem que ser desta classe. O padrão é o espaço único #. (Início e término de corda sempre contam como limites) # Isso pode ser chamado a qualquer momento, e Substitui todas as chamadas anteriores. $ Dict-> limite ( "?"); # Ignorar certos caracteres. Você pode definir uma classe de caracteres que o # dicionário deve fingir que não existem. Você deve chamar isso antes # quaisquer inserções. $ Dict-> ignorar (" () "); # Tratar todos os Chars # equivalentes de espaço único contíguo (conforme definido por Charclass ()) como um caractere mais solicitado. Ultimamente, novo em v0.25 $ dict-> squeezeblanks; # semelhante ao limite método, exceto que o limite real é considerado como ocorrendo pouco antes do caractere de limite. Isso é útil # quando o caractere de limite em si precisa ser correspondido no início # Início de uma partida. # Por exemplo, para procurar '-foo' Em 'Bar-foo', a seguinte classe precisa ser definida $ dict-> incl apresentação ('-'); este módulo fornece instalações para pesquisa rápida em strings com muitas chaves de pesquisa. O objeto básico se comporta um pouco como um hash perl, Exceto que você pode recuperar com base em um superstring de qualquer tecla armazenada. Basta digitalizar uma string, conforme mostrado acima e você receberá um hash de perl (ou uma lista) de todas as chaves encontradas na string (juntamente com valores e / ou posições associadas) . Todas as chaves presentes no texto são retornadas. Há várias maneiras de influenciar o comportamento da partida, c angial pelo uso de vários tipos de classes de caracteres globais. Estes são diferentes das classes de caracteres de expressão regular, na medida em que se aplicam a todo o texto e para todas as chaves. Estes consistem na classe "ignorar", a classe "limite", a classe "incl apresente" e quaisquer classes definidas pelo usuário.Using "ignorar" caracteres que você pode ter a verificação fingir que um caractere simplesmente não existe. Isso é útil se você quiser evitar o tokenizing seu texto. Assim, por exemplo, se o período '.' está em sua classe "ignorar", o texto será tratado exatamente como se todos os períodos tivessem sido excluídos. Para definir quais caracteres podem contar como o delimitador de qualquer correspondência (espaço único por padrão), você pode usar a classe "limite". Por exemplo, dessa maneira, você pode contar pontuação como limite, e frases limitadas no final por pontuação corresponderão. As classes de caracteres definidas pelo usuário podem ser usadas para contar diferentes caracteres como o mesmo. Por exemplo, isso é usado internamente para implementar as correspondências insensíveis em maiúsculas e minúsculas. Sobre as cordas Unicode / UTF8. Texto :: Scan atua no nível do octeto, por isso não está ciente de nada sobre strings codificadas Unicode / UTF8. Se você lidar com essas seqüências, é recomendável dar aos octetos strings ao texto :: Scan usando Encode :: Encode_utf8 (). Texto :: Scan, então lhe dará cordas de octetos, codificou as chaves encontradas pela UTF8. Requisitos: · Guitone.


Texto :: Scan Software Relacionado

sslh

Conexão de entrada entre os servidores SSH e SSL / HTTPS. ...

168

Download