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.
C++ Python Makefile Perl CMake Shell Batchfile
Latest commit 782df01 Nov 16, 2017 @junyer junyer Make *Map and Entry private to PrefilterTree.
Change-Id: I2cb2bb6ad20f0e13ffc5bed00e012aff544d3e45
Reviewed-by: Paul Wankadia <>
Failed to load latest commit information.
benchlog benchlog: Add gnuplot support Jul 17, 2015
doc Update Unicode data to 10.0.0. Oct 1, 2017
kokoro Configure CI using CMake on macOS. Mar 1, 2017
lib/git Cleanup: Remove hg codereview extension. Apr 9, 2015
re2 Make *Map and Entry private to PrefilterTree. Nov 16, 2017
util Oops, MaybeInitializeMemory() can't be static anymore. Nov 14, 2017
.gitignore re2: exclude benchlog results in .gitignore Jul 10, 2015
.travis.yml Add Clang 5.0 to the Travis CI matrix. Sep 12, 2017
AUTHORS re2: make tables const Jan 10, 2014
BUILD Oops, Bazel wants a label for load(). Oct 11, 2017
CMakeLists.txt Avoid warning in CMake when using re2 as a subproject Oct 17, 2017 re2: more Gerrit+GitHub integration Nov 20, 2014
CONTRIBUTORS Remove comparisons of this with NULL. Jun 26, 2014
LICENSE initial release Mar 3, 2010
Makefile Uses straightforward SO install name on Darwin. May 18, 2017
README Mention the R wrapper in the README file. Aug 12, 2016
WORKSPACE Add a workspace name based on Bazel guidelines Jul 1, 2016
libre2.symbols Make the re2_dfa_bail_when_slow knob not a flag. Sep 2, 2016
libre2.symbols.darwin Make the re2_dfa_bail_when_slow knob not a flag. Sep 2, 2016
re2.pc Plumb more variables from Makefile to re2.pc. May 9, 2016
re2_test.bzl Remove includes attributes that will break the build. Apr 14, 2016
runtests Make the dynamic binary tests work on Darwin. Sep 12, 2016 Get rid of using-directives. Aug 7, 2016
ucs2.diff add ucs2.diff, showing old UCS-2 support Feb 7, 2012


This is the source code repository for RE2, a regular expression library.

For documentation about how to install and use RE2,

The short version is:

make test
make install
make testinstall

There is a fair amount of documentation (including code snippets) in
the re2.h header file.

More information can be found on the wiki:

Issue tracker:

Mailing list:

Unless otherwise noted, the RE2 source files are distributed
under the BSD-style license found in the LICENSE file.

RE2's native language is C++.

A C wrapper is at
An Erlang wrapper is at
An Inferno wrapper is at
A Node.js wrapper is at and on NPM.
An OCaml wrapper is at and on OPAM.
A Perl wrapper is at and on CPAN.
A Python wrapper is at
An R wrapper is at
A Ruby wrapper is at