- re_config(?Term)
- Extract configuration information from the pcre library. Term is of
the form
Name(Value). Name is derived from thePCRE_CONFIG_*constant after removingPCRE_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,trueorfalseis 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:
bsrandnewlinehave been replaced bybsr2andnewline2:bsr2- previouslybsrreturned 0 or 1; now returnsunicodeoranycrlfnewline2- previouslynewlinereturned 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
\Rescape sequence matches by default. Replacesbsroption 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
trueif 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). Replacesnewlineoption 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 forunicodelink_size- synonym forlinksizematch_limit- synonym formatchlimitparens_limit- synonym forparenslimitunicode_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_thresholdmatch_limit_recursion