19 lines
1.1 KiB
Text
19 lines
1.1 KiB
Text
TRE is a lightweight, robust, and efficient POSIX compliant regexp matching
|
|
library with some exciting features such as approximate (fuzzy) matching.
|
|
|
|
At the core of TRE is a new algorithm for regular expression matching with
|
|
submatch addressing. The algorithm uses linear worst-case time in the length
|
|
of the text being searched, and quadratic worst-case time in the length of
|
|
the used regular expression. In other words, the time complexity of the
|
|
algorithm is O(M2N), where M is the length of the regular expression and N
|
|
is the length of the text. The used space is also quadratic on the length
|
|
of the regex, but does not depend on the searched string. This quadratic
|
|
behaviour occurs only on pathological cases which are probably very rare
|
|
in practice.
|
|
|
|
TRE includes a version of the agrep (approximate grep) command line tool
|
|
for approximate regexp matching in the style of grep. Unlike other agrep
|
|
implementations (like the one by Sun Wu and Udi Manber from University of
|
|
Arizona available here) TRE agrep allows full regexps of any length, any
|
|
number of errors, and non-uniform costs for insertion, deletion and
|
|
substitution.
|