PCRE2 development is now based here.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
George Sokianos 4a45482c9c Cleanup of Makefile.os4, added release rule and a README file for this release 2 weeks ago
.github/workflows Add OpenSSF Scorecards to impove the security posture (#93) 4 months ago
cmake pcre2test: allow using readline headers for libedit (#99) 4 months ago
doc Implement -Z in pcre2grep and update documentation 2 weeks ago
m4 Change --enable-pcre8 etc to --enable-pcre2-8 etc and consequent changes; 8 years ago
maint Remove unused variables in ucptest.c and update test data for added properties 4 months ago
src Cleanup of Makefile.os4, added release rule and a README file for this release 2 weeks ago
testdata Implement -Z in pcre2grep and update documentation 2 weeks ago
.bazelrc bazel support (#136) 4 weeks ago
.gitignore Cleanup of Makefile.os4, added release rule and a README file for this release 2 weeks ago
132html Add additional compile options and PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES. 5 years ago
AUTHORS Final file tidies for 10.40 4 months ago
BUILD.bazel bazel support (#136) 4 weeks ago
CMakeLists.txt Include specific .pdb files only for chosen char size libs when shared (#116) 3 months ago
COPYING Fix erroneous COPYING file. 7 years ago
ChangeLog Implement -Z in pcre2grep and update documentation 2 weeks ago
CheckMan Fix documentation typos and upgrade documentation checking script. 2 years ago
CleanTxt Documentation scripts 8 years ago
Detrail Documentation scripts 8 years ago
HACKING doc: fix various typos (#132) 1 month ago
LICENCE Final file tidies for 10.40 4 months ago
MODULE.bazel bazel support (#136) 4 weeks ago
Makefile.am JIT compiler update 4 weeks ago
Makefile.os4 Cleanup of Makefile.os4, added release rule and a README file for this release 2 weeks ago
NEWS Final file tidies for 10.40 4 months ago
NON-AUTOTOOLS-BUILD doc: fix various typos (#132) 1 month ago
PrepareRelease Renamed dftables as pcre2_dftables and enable it to write the tables in binary. 2 years ago
README doc: fix various typos (#132) 1 month ago
README-OS4.md Cleanup of Makefile.os4, added release rule and a README file for this release 2 weeks ago
README.md More GitHub URL updates 4 months ago
RunGrepTest Implement -Z in pcre2grep and update documentation 2 weeks ago
RunGrepTest.bat Add --disable-pcre2grep-callout-fork configuration setting. 4 years ago
RunTest Added some special heap tests 2 weeks ago
RunTest.bat ci: windows support (#105) 4 months ago
WORKSPACE.bazel bazel support (#136) 4 weeks ago
autogen.sh Add basic configuration files. 9 years ago
config-cmake.h.in inttypes and stdint cleanup (#30) 10 months ago
configure.ac Fix compiler warning in pcre2test 2 months ago
index.md More GitHub URL updates 4 months ago
libpcre2-8.pc.in Fix Windows debug builds (Bugzilla #2600) using CMake. 2 years ago
libpcre2-16.pc.in Fix Windows debug builds (Bugzilla #2600) using CMake. 2 years ago
libpcre2-32.pc.in Fix Windows debug builds (Bugzilla #2600) using CMake. 2 years ago
libpcre2-posix.pc.in Fix Windows debug builds (Bugzilla #2600) using CMake. 2 years ago
pcre2-config.in Fix Windows debug builds (Bugzilla #2600) using CMake. 2 years ago
pcre2_fuzzer.dict Commit an experimental fuzzer dictionary. 5 years ago
pcre2_fuzzer.options Create options file for fuzzer. 5 years ago
perltest.sh Fix delimiters in tests 1 and 4 for correct Perl behaviour (Bugzilla #2641). 2 years ago

README.md

PCRE2 - Perl-Compatible Regular Expressions

The PCRE2 library is a set of C functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE2 has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE2 library is free, even for building proprietary software. It comes in three forms, for processing 8-bit, 16-bit, or 32-bit code units, in either literal or UTF encoding.

PCRE2 was first released in 2015 to replace the API in the original PCRE library, which is now obsolete and no longer maintained. As well as a more flexible API, the code of PCRE2 has been much improved since the fork.

Download

As well as downloading from the GitHub site, you can download PCRE2 or the older, unmaintained PCRE1 library from an unofficial mirror at SourceForge.

You can check out the PCRE2 source code via Git or Subversion:

git clone https://github.com/PCRE2Project/pcre2.git
svn co    https://github.com/PCRE2Project/pcre2.git

Contributed Ports

If you just need the command-line PCRE2 tools on Windows, precompiled binary versions are available at this Rexegg page.

A PCRE2 port for z/OS, a mainframe operating system which uses EBCDIC as its default character encoding, can be found at http://www.cbttape.org (File 939).

Documentation

You can read the PCRE2 documentation here.

Comparisons to Perl's regular expression semantics can be found in the community authored Wikipedia entry for PCRE.

There is a curated summary of changes for each PCRE release, copies of documentation from older releases, and other useful information from the third party authored RexEgg PCRE Documentation and Change Log page.

Contact

To report a problem with the PCRE2 library, or to make a feature request, please use the PCRE2 GitHub issues tracker. There is a mailing list for discussion of PCRE2 issues and development at pcre2-dev@googlegroups.com, which is where any announcements will be made. You can browse the list archives.