Use Abseil’s character class functions.
They are locale-agnostic whereas the libc equivalents aren’t… and thus incur indirections due to checking the current locale.
Change-Id: I5e1350ff33c3090c345b4166afb6b80d92d4a0df Reviewed-on: https://code-review.googlesource.com/c/re2/+/61890 Reviewed-by: Alex Chernyakhovsky achernya@google.com Reviewed-by: Paul Wankadia junyer@google.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
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
Building RE2 requires Abseil (https://github.com/abseil/abseil-cpp) to be installed on your system. Building the testing for RE2 requires GoogleTest (https://github.com/google/googletest) and Benchmark (https://github.com/google/benchmark) to be installed as well.
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++.
The Python wrapper is at https://github.com/google/re2/tree/abseil/python and on PyPI (https://pypi.org/project/google-re2/).
A C wrapper is at https://github.com/marcomaggi/cre2/. A D wrapper is at https://github.com/ShigekiKarita/re2d/ and on DUB (code.dlang.org). An Erlang wrapper is at https://github.com/dukesoferl/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). An R wrapper is at https://github.com/girishji/re2/ and on CRAN (cran.r-project.org). A Ruby wrapper is at https://github.com/mudge/re2/ and on RubyGems (rubygems.org). A WebAssembly wrapper is at https://github.com/google/re2-wasm/ and on NPM (npmjs.com).