Name(Value)
. Name is derived from the
PCRE_CONFIG_*
constant after removing PCRE_CONFIG_
and mapping the name to lower case, e.g. utf8
, unicode_properties
,
etc. Value is a Prolog boolean, integer, or atom. For boolean (1 or 0)
values, true
or false
is returned.
re_config/1 will backtrack through all the possible configuration values if its argument is a variable. If an unknown option is specified, re_config/1 fails.
Non-compatible changes between PCRE1 and PCRE2 because numeric values
changed: bsr
and newline
have been replaced by bsr2
and
newline2
:
bsr2
- previouslybsr
returned 0 or 1; now returnsunicode
oranycrlf
newline2
- previouslynewline
returned an integer, now returnscr
,lf
,crlf
,any
,anycrlf
,nul
Term values are as follows. Some values might not exist, depending on the version of PCRE2 and the options it was built with.
- bsr2 The character sequences that the
\R
escape sequence matches by default. Replacesbsr
option from PCRE1, which is not compatible. - compiled_widths An integer whose lower bits indicate which code unit widths were selected when PCRE2 was built. The 1-bit indicates 8-bit support, and the 2-bit and 4-bit indicate 16-bit and 32-bit support, respectively. The 1 bit should always be set because the wrapper code requires 8 bit support.
- depthlimit
- heaplimit
- jit
true
if just-in-time compiling is available. - jittarget A string containing the name of the architecture for which the JIT compiler is configured. e.g.,’x86 64bit (little endian + unaligned)’.
- linksize
- matchlimit
- never_backslash_c
- newline2 An atom whose value specifies the default character
sequence that is recognized as meaning "newline" (
cr
,lf
,crlf
,any
,anycrlf
,nul
). Replacesnewline
option from PCRE1, which is not compatible. - parenslimit
- stackrecurse
- unicode Always
true
- unicode_version The unicode version as an atom, e.g.’12.1.0’.
- utf8 - synonym for
unicode
- parens_limit
- version The version information as an atom, containing the PCRE
version number and release date, e.g.’10.34 2019-11-21’.
For backwards compatibility with PCRE1, the following are accepted, but are deprecated:
utf8
- synonym forunicode
link_size
- synonym forlinksize
match_limit
- synonym formatchlimit
parens_limit
- synonym forparenslimit
unicode_properties
- always true
The following have been removed because they don't exist in PCRE2 and don't seem to have any meaningful use in PCRE1:
posix_malloc_threshold
match_limit_recursion