JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q67439F
  • License ISC

Aho–Corasick string matching algorithm

Package Exports

  • aho-corasick2

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aho-corasick2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

aho-corasick2

aho-corasick2 - Aho–Corasick string matching algorithm

Installation

$ npm install aho-corasick2

應用

Example

API

import * as AhoCorasick from 'aho-corasick2';
import AhoCorasick from 'aho-corasick2';
import AhoCorasick = require('aho-corasick2');
  • search
var i, len, ref, word;

var ac = new AhoCorasick();

ref = ['say', 'she', 'shr', 'he', 'her', 'h', 'hers', 'his'];

for (i = 0, len = ref.length; i < len; i++)
{
    word = ref[i];
    ac.add(word, {
        word: word
    });
}

ac.build_fail();

console.dir(ac, {
    depth: null,
    colors: true,
});

let actual = ac.search('yasherhs');
/*
{ matches: { h: [ 3, 6 ], she: [ 2 ], he: [ 3 ], her: [ 3 ] },
  positions: { '2': [ 'she' ], '3': [ 'h', 'he', 'her' ], '6': [ 'h' ] },
  count: { h: 2, she: 1, he: 1, her: 1 },
  data:
   { h: [ { word: 'h' } ],
     she: [ { word: 'she' } ],
     he: [ { word: 'he' } ],
     her: [ { word: 'her' } ] } }
 */

console.dir(actual, {
    depth: null,
    colors: true,
});

build graphviz dot

        ac = new AhoCorasick()
        ac.add word, word:word for word in ['say', 'she', 'shr', 'he', 'her']
        ac.build_fail()
        console.log ac.to_dot()

save output as trie.dot and

$ dot -Tpng trie.dot -o trie.png

You also need to install GraphViz

Author

Dejian Xu Google+

Thanks

References

wikipedia: Aho-Corasick