Scinovex
article Open AccessTop 10% cited

Efficient string matching

Communications of the ACM · 1975 · Vol. 18(6) · pp. 333–340
Alfred V. AhoMargaret J. Corasick

Abstract

This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.

Algorithms and Data Compressionsemigroups and automata theoryDNA and Biological ComputingString searching algorithmCommentz-Walter algorithmComputer scienceFinite-state machinePattern matchingString (physics)Matching (statistics)Approximate string matchingState (computer science)Algorithm
Citations
2,924
FWCI
16.29
field-weighted impact
References
16
Percentile
99%
vs. same field & year
Citations per year
Cited by
Techniques for automatically correcting words in text
ACM Computing Surveys · 1992 · 1,246 citations
A fast string searching algorithm
Communications of the ACM · 1977 · 2,282 citations
A guided tour to approximate string matching
ACM Computing Surveys · 2001 · 2,547 citations
Citation Network

How this paper connects to the literature. Drag to explore, click any node to open that paper.

Efficient string matching · Scinovex