Popularity
5.2
Stable
Activity
0.0
Stable
4
2
4

Monthly Downloads: 25
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Text    

AhoCorasick alternatives and similar packages

Based on the "Text" category.
Alternatively, view AhoCorasick alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of AhoCorasick or a related project?

Add another 'Text' Package

README

AhoCorasick

Aho-Corasick string matching algorithm.

Installation

cabal update
cabal install AhoCorasick

Examples

Simplest example

example1 = mapM_ print $ findAll simpleSM "ushers" where
    simpleSM = makeSimpleStateMachine ["he","she","his","hers"]
Position {pIndex = 1, pLength = 3, pVal = "she"}
Position {pIndex = 2, pLength = 2, pVal = "he"}
Position {pIndex = 2, pLength = 4, pVal = "hers"}

With data

example2 = mapM_ print $ findAll sm "ushers" where
    sm = makeStateMachine [("he",0),("she",1),("his",2),("hers",3)]
Position {pIndex = 1, pLength = 3, pVal = 1}
Position {pIndex = 2, pLength = 2, pVal = 0}
Position {pIndex = 2, pLength = 4, pVal = 3}

Step-by-step state machine evaluation

example3 = mapM_ print $ next sm "ushers" where
    sm = makeSimpleStateMachine ["he","she","his","hers"]
    next _ [] = []
    next sm (s:n) = let (SMStepRes match nextSM) = stateMachineStep sm s in
        (s, match) : next nextSM n
('u',[])
('s',[])
('h',[])
('e',[(3,"she"),(2,"he")])
('r',[])
('s',[(4,"hers")])