[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: wip/re2
Module name: wip
Committed by: asau
Date: Sat Aug 27 18:45:02 UTC 2011
Import into wip/re2
Import RE2 as wip/re2.
RE2 is a fast, safe, thread-friendly alternative to backtracking
regular expression engines like those used in PCRE, Perl, and
Python. It is a C++ library.
Backtracking engines are typically full of features and
convenient syntactic sugar but can be forced into taking
exponential amounts of time on even small inputs. RE2 uses
automata theory to guarantee that regular expression searches
run in time linear in the size of the input. RE2 implements
memory limits, so that searches can be constrained to a fixed
amount of memory. RE2 is engineered to use a small fixed C++
stack footprint no matter what inputs or regular expressions it
must process; thus RE2 is useful in multithreaded environments
where thread stacks cannot grow arbitrarily large.
On large inputs, RE2 is often much faster than backtracking
engines; its use of automata theory lets it apply optimizations
that the others cannot.
Unlike most automata-based engines, RE2 implements almost all
the common Perl and PCRE features and syntactic sugars. It also
finds the leftmost-first match, the same match that Perl would,
and can return submatch information. The one significant
exception is that RE2 drops support for backreferences¡Ï and
generalized zero-width assertions, because they cannot be
implemented efficiently. The syntax page gives full details.
For those who want a simpler syntax, RE2 has a POSIX mode that
accepts only the POSIX egrep operators and implements
leftmost-longest overall matching.
Vendor Tag: asau
Release Tags: asau_20110827
No conflicts created by this import
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
pkgsrc-wip-cvs mailing list
Main Index |
Thread Index |