NAME

   re::engine::TRE - TRE regular expression engine

VERSION

   version 0.09

SYNOPSIS

       use re::engine::TRE max_cost => 1;

       if ("A pearl is a hard object produced..." =~ /\(Perl\)/i) {
           say $1; # "pearl"
       }

DESCRIPTION

   Replaces Perl's regex engine in a given lexical scope with POSIX
   regular expressions provided by the TRE regular expression library.
   tre-0.8.0 <http://laurikari.net/tre/download/> is shipped with this
   module.

PRAGMA OPTIONS

     * cost_ins: The default cost of an inserted character, that is, an
     extra character in string (default: 1).

     * cost_del: The default cost of a deleted character, that is, a
     character missing from string (default: 1).

     * cost_subst: The default cost of a substituted character (default:
     1).

     * max_cost: The maximum allowed cost of a match. If this is set to
     zero, an exact matching is searched for (default: 0).

     * max_ins: Maximum allowed number of inserted characters (default:
     unspecified).

     * max_del: Maximum allowed number of deleted characters (default:
     unspecified).

     * max_subst: Maximum allowed number of substituted characters
     (default: unspecified).

     * max_err: Maximum allowed number of errors (inserts + deletes +
     substitutes; default: unspecified).

   Set any value to -1 to represent "unspecified, but very high".

REFERENCES

Algorithm & Implementation

     * Bitap algorithm <https://en.wikipedia.org/wiki/Bitap>

     * Introduction to the TRE regexp matching library.
     <http://laurikari.net/tre/about/>

Salvaged several parts from

     * re::engine::PCRE (recent Perl compatibility)

     * re::engine::RE2 (parameter passing)

     * String::Approx (tests for approximate matching)

AUTHOR

   Ævar Arnfjörð Bjarmason <[email protected]>

COPYRIGHT AND LICENSE

   This software is copyright (c) 2014 by Ævar Arnfjörð Bjarmason.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.