The PCRE extension is a core PHP extension, so it is always enabled. By default, this extension is compiled using the bundled PCRE library. Alternatively, an external PCRE library can be used by passing in the --with-pcre-regex=DIR configuration option where DIR is the location of PCRE's include and library files. It is recommended to use PCRE 8.10 or newer; as of PHP 7.3.0, PCRE2 is required.

PCRE's just-in-time compilation is supported by default, which can be disabled with the --without-pcre-jit configuration option as of PHP 7.0.12.

The Windows version of PHP has built-in support for this extension. You do not need to load any additional extensions in order to use these functions.

PCRE is an active project and as it changes so does the PHP functionality that relies upon it. It is possible that certain parts of the PHP documentation is outdated, in that it may not cover the newest features that PCRE provides. For a list of changes, see the » PCRE library changelog and also the following bundled PCRE history:

Upgrade history of the bundled PCRE library
PHP Version Updated PCRE Version Notes
7.4.12, 8.0.0 10.35  
7.4.6 10.34  
7.4.0 10.33  
7.3.0 10.32  
7.2.0 8.41  
7.0.3 8.38 See CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394
7.0.0 8.37 See CVE-2015-2325, CVE-2015-2326

add a note add a note

User Contributed Notes 1 note

Lrinczy Zsigmond
2 years ago
From PHP version 7.3, 'pcre2' is used instead of 'pcre'. It is bundled with the PHP source, or a preinstalled pcre2 can be used if it was compiled with these configure-options:

--enable-shared --enable-unicode --enable-jit

If you want to use preinstalled pcre2 with PHP, use configure-options --with-pcre-dir=<path> and --with-pcre-regex=<path> (I don't know why there is two of them).
To Top