Text :: Scan.

Schnelle Suche nach sehr großen Schlüsselnummern in einem Textkörper.
Jetzt downloaden

Text :: Scan. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Ira Woodhead
  • Website des Verlags:
  • http://search.cpan.org/~tbusch/

Text :: Scan. Stichworte


Text :: Scan. Beschreibung

Schnellsuche für eine sehr große Anzahl von Tasten in einem Textkörper. Text :: Scan ist eine Perl-Modul, dass Angebote für eine sehr große Anzahl von Schlüsseln in einem Körper aus text.SYNOPSIS Verwendung Text schnell durchsuchen :: Scan; $ Dict = neuen Text :: Scan; % = Bedingungen (Hund => 'canine', bear => 'ursine', pig => 'porcine'); # Das Wörterbuch mit Schlüssel und Werte # laden, während (($ key, $ val) = each% Begriffe) {$ dict-> Einsatz ($ key, $ val) (Werte jeder Skalar sein können, Schlüssel müssen Strings sein); } # Scan ein Dokument für die Spiele $ document = der Bär aß der Hund aber der Hund bekam Magenverstimmung; % Gefunden = $ dict-> Scan ($ document); # Jetzt% gefunden (Hund => Hunde, Bären => ursine) # Oder, wenn Sie Anzahl von Vorkommen einer bestimmten Taste # zählen müssen, ein Array verwenden. Dies gibt Ihnen eine zählbare flache Liste Anzahl der Schlüssel => Wert-Paare. @found = $ dict-> Scan ($ document); # Jetzt @found ist (Hund => Hunde, Bären => ursine, Hund => Hunde-) # Prüfen Sie, ob die Mitgliedschaft ($ val ist true) $ val = $ dict-> hat ( 'Schwein'); Abrufen Wert für bestimmte Taste #. Returns undef, wenn kein Schlüssel gefunden wird. $ Val = $ dict-> val ($ key); Abrufen # alle Schlüssel. Dies gibt alle eingefügten Schlüssel, um # Einsteckrichtung @keys = $ dict-> keys (); # @Keys ist (Hund, Bär, Schwein) # # (neu in v0.10) @vals = $ dict-> Werte () (Tasten wie entsprechen, in derselben Reihenfolge) alle Werte abrufen; # @Vals ist (Eckzahn, ursine, Schwein) # Get alles zurück, was Sie alles% eingefügt = $ dict-> dump (); # MINDEX # Wie Perl-Index (), aber mit mehreren Mustern (neu in v0.07) # Sie für die Startpositionen von Begriffen scannen. @indices = $ dict-> MINDEX ($ document); # @Indices ist (Hund => 4, bear => 16, Hund => 29) # Der Hash-Kontext ergibt die Position der letzten Vorkommen # jedes Wort% Indizes = $ dict-> MINDEX ($ Dokument); #% Indizes (Hundes => 26, bear => 16) # Multiscan () (> = v0.23) # Ermittelt alles Scan () und MINDEX () der Fall ist, in Form eines Arrays # von Referenzen. Jede Referenzpunkte auf einer Liste # von (Schlüssel, Index-Wert) @result = $ dict-> Multiscan- ($ document); # @Result ist (, , ) # Schalten Wildcard-Scanning. (> = V0.09) # Dies kann geschehen jederzeit sein. Works für Scan () und MINDEX (). Platzhalter # umfasst eine beliebige Anzahl von nicht-Single-Raum-äquivalent Zeichen. $ Dict-> usewild (); # Speicher ein Wörterbuch, dann ist es wieder herzustellen. (Serialize und Wiederherstellung neu in V0.14) # Dieser abkühlen aber Vorsicht, werden alle Werte in Strings konvertiert werden. # Hinweis restore () ist viel schneller als die ursprüngliche Insertion Taste # / Werte. Diese Rückkehr bei Erfolg 0, errno ein Fehler auftrat. $ Dict-> serialize ( "dict_name"); $ Dict-> wiederherstellen ( "dict_name"); Legen Sie #, um eine globale char-Äquivalenzklasse in Kraft. Das passt alle # diese Zeichen, als ob sie gleich waren. (V0.17) $ dict-> charclass ( ":;.?"); $ Dict-> Einsatz ( "Was?", "Was?"); @found = $ dict-> Scan ( "Err ... Was, etwas falsch gemacht?"); # Jetzt @found ist ( "Was" => "Was?"); # Scan Fall-unsensibel. Dies muss vor allen Einfügungen aufgerufen werden. $ Dict-> ignorecase (); # Eine Klasse von Zeichen Stellen Sie die Grenzen eines Spiels zu sein, #, so dass die Zeichen unmittelbar vor dem Beginn und nach dem # eines Spiels in dieser Klasse sein müssen, endet. Standard ist der einzige # Raum. (Beginn und Ende der Zeichenfolge zählt immer als Grenzen) # Dies kann jederzeit aufgerufen werden und Vorrang vor allen vorherigen Anrufen. $ Dict-> Grenze ( "?"); # Ignorieren bestimmter Zeichen. Sie können eine Klasse von Zeichen definieren, dass die # Wörterbuch existiert nicht so tun soll. Sie müssen dies aufrufen, bevor # irgendwelche Einfügungen. $ Dict-> ignorieren ( () "); # Behandeln Sie alle zusammenhängenden Einzelraum-äquivalenten Zeichen # (wie von charclass ()) als ein char. Die meisten angeforderten Merkmals # in letzter Zeit, neu in v0.25 $ dict-> squeezeblanks; # ähnlich der Grenze Verfahren, mit der Ausnahme, dass die eigentliche Grenze # kurz vor dem Grenzzeichen angesehen wird. Dies ist nützlich, wenn das Randcharakter selbst mit dem # Beginn einer Übereinstimmung angepasst werden muss. # Zum Beispiel, um nach "-Foo" zu suchen. In 'bar-foo' muss die folgende # Klasse eingestellt sein Außer dass Sie basierend auf einem Superstring von den gespeicherten Tasten abrufen können. Scannen Sie einfach eine Zeichenfolge, wie oben gezeigt, und Sie erhalten einen Perl-Hash (oder die Liste) aller in der Zeichenfolge gefundenen Tasten (zusammen mit zugehörigen Werten und / oder Positionen). . Alle Tasten, die im Text vorhanden sind, werden zurückgegeben. Es gibt mehrere Möglichkeiten, das Verhalten des Spiels zu beeinflussen, c hlief durch die Verwendung mehrerer Arten von globalen Charakterklassen. Dies unterscheidet sich von regulären Ausdruckskennungen, indem sie auf den gesamten Text und für alle Schlüssel gelten. Diese bestehen aus der Klasse "Ignorieren", der "Boundary" -Klätung, der "inclbHoundary" -klasse, und beliebigen benutzerdefinierten Klassen Dies ist nützlich, wenn Sie Ihren Text vermeiden möchten. So zum Beispiel, wenn der Zeitraum '.' In Ihrer "ignorierten" Klasse wird der Text genau so behandelt, als ob alle Perioden gelöscht wurden. So können Sie beispielsweise Interpunktion als Grenze zählen, und Sätze, die am Ende durch Interpunktion begrenzt werden, stimmen überein. Ich kann für benutzerdefinierte Zeichenklassen verwendet werden, um verschiedene Zeichen als dasselbe zu zählen. Dies wird beispielsweise intern zur Implementierung von case-unempfindlichen Übereinstimmungen verwendet. Unicode / UTF8-Saiten. Text :: Scan fungiert auf der Oktettebene, so dass es nichts über Unicode / UTF8-codierte Saiten bewusst ist. Wenn Sie mit solchen Saiten umgehen, empfiehlt es sich, Oktets-Saiten auf Text zu geben :: Scan mit codieren :: codig_utf8 (). Text :: Scan gilt Ihnen dann zurück Oktets-Saiten, utf8-codierte gefundene Tasten. Anforderungen: · Guitone


Text :: Scan. Zugehörige Software