What is it all about?
TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.
* TRE includes a version of the agrep (approximate grep) command line tool for approximate regexp matching in the style of grep. * TRE agrep allows full regexps of any length, any number of errors, and non-uniform costs for insertion, deletion and substitution. * Wide character and multibyte character set support - TRE supports multibyte character sets. This makes it possible to use regexps seamlessly with, for example, Japanese locales. TRE also provides a wide character API. * Binary pattern and data support - TRE provides APIs which allow binary zero characters both in regexps and searched strings. The standard API cannot be easily used to, for example, search for printable words from binary data (although it is possible with some hacking). Searching for patterns which contain binary zeroes embedded is not possible at all with the standard API. * Completely thread safe - TRE is completely thread safe. All the exported functions are re-entrant, and a single compiled regexp object can be used simultaneously in multiple contexts; e.g. in main() and a signal handler, or in many threads of a multithreaded application. * Portable - TRE is portable across multiple platforms.