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.
Clone or download
junyer Improve the "MATCHING WITH SUBSTRING EXTRACTION" comment again.
Change-Id: I079c0913c2ec9767f85f55f3ab5391ab6004544e
Reviewed-on: https://code-review.googlesource.com/c/35290
Reviewed-by: Paul Wankadia <junyer@google.com>
Latest commit 2206f4f Nov 6, 2018
Permalink
Failed to load latest commit information.
benchlog benchlog: Add gnuplot support Jul 17, 2015
doc Update Unicode data to 11.0.0. Jun 17, 2018
kokoro Configure CI using Bazel on macOS and on Windows. Feb 18, 2018
lib/git Cleanup: Remove hg codereview extension. Apr 9, 2015
re2 Improve the "MATCHING WITH SUBSTRING EXTRACTION" comment again. Nov 6, 2018
util Improve the "MATCHING WITH SUBSTRING EXTRACTION" comment. Nov 1, 2018
.gitignore re2: exclude benchlog results in .gitignore Jul 10, 2015
.travis.yml Add Clang 7 to the Travis CI matrix. Sep 20, 2018
AUTHORS re2: make tables const Jan 10, 2014
BUILD Add PODArray<> and make BitState use it. Aug 30, 2018
CMakeLists.txt Just /source-charset:utf-8 didn't work. Try /utf-8. Dec 19, 2017
CONTRIBUTING.md 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 Add PODArray<> and make BitState use it. Aug 30, 2018
README Note more languages' package sites. Mar 15, 2018
WORKSPACE Add a workspace name based on Bazel guidelines Jul 1, 2016
libre2.symbols Include operator<<() for StringPiece in libre2.so Jun 24, 2018
libre2.symbols.darwin Include operator<<() for StringPiece in libre2.so Jun 24, 2018
re2.pc Plumb more variables from Makefile to re2.pc. May 9, 2016
re2_test.bzl regexp_benchmark doesn't need linkopts. Feb 18, 2018
runtests Kludge around System Integrity Protection on Darwin. Mar 4, 2018
testinstall.cc Get rid of using-directives. Aug 7, 2016
ucs2.diff add ucs2.diff, showing old UCS-2 support Feb 7, 2012

README

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

For documentation about how to install and use RE2,
visit https://github.com/google/re2/.

The short version is:

make
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:
https://github.com/google/re2/wiki

Issue tracker:
https://github.com/google/re2/issues

Mailing list:
https://groups.google.com/group/re2-dev

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 https://github.com/marcomaggi/cre2/.
An Erlang wrapper is at https://github.com/tuncer/re2/ and on Hex (hex.pm).
An Inferno wrapper is at https://github.com/powerman/inferno-re2/.
A Node.js wrapper is at https://github.com/uhop/node-re2/ and on NPM (npmjs.com).
An OCaml wrapper is at https://github.com/janestreet/re2/ and on OPAM (opam.ocaml.org).
A Perl wrapper is at https://github.com/dgl/re-engine-RE2/ and on CPAN (cpan.org).
A Python wrapper is at https://github.com/facebook/pyre2/ and on PyPI (pypi.org).
An R wrapper is at https://github.com/qinwf/re2r/ and on CRAN (cran.r-project.org).
A Ruby wrapper is at https://github.com/mudge/re2/ and on RubyGems (rubygems.org).