pcre2_set_compile_extra_options

Manual page for PCRE2 10.46-DEV

SYNOPSIS

#include <pcre2.h>

int pcre2_set_compile_extra_options(pcre2_compile_context *ccontext, uint32_t extra_options);


DESCRIPTION

This function sets additional option bits for pcre2_compile() that are housed in a compile context. It completely replaces all the bits. The extra options are:

  PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK     Allow \K in lookarounds
  PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES  Allow \x{d800} to \x{dfff} in UTF-8 and UTF-32 modes
  PCRE2_EXTRA_ALT_BSUX                 Extended alternate \u, \U, and \x handling
  PCRE2_EXTRA_ASCII_BSD                \d remains ASCII in UCP mode
  PCRE2_EXTRA_ASCII_BSS                \s remains ASCII in UCP mode
  PCRE2_EXTRA_ASCII_BSW                \w remains ASCII in UCP mode
  PCRE2_EXTRA_ASCII_DIGIT              [:digit:] and [:xdigit:] POSIX classes remain ASCII in UCP mode
  PCRE2_EXTRA_ASCII_POSIX              POSIX classes remain ASCII in UCP mode
  PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL    Treat all invalid escapes as a literal following character
  PCRE2_EXTRA_CASELESS_RESTRICT        Disable mixed ASCII/non-ASCII case folding
  PCRE2_EXTRA_ESCAPED_CR_IS_LF         Interpret \r as \n
  PCRE2_EXTRA_MATCH_LINE               Pattern matches whole lines
  PCRE2_EXTRA_MATCH_WORD               Pattern matches "words"
  PCRE2_EXTRA_NEVER_CALLOUT            Disallow callouts in pattern
  PCRE2_EXTRA_NO_BS0                   Disallow \0 (but not \00 or \000)
  PCRE2_EXTRA_PYTHON_OCTAL             Use Python rules for octal
  PCRE2_EXTRA_TURKISH_CASING           Use Turkish I case folding
There is a complete description of the PCRE2 native API in the pcre2api page and a description of the POSIX API in the pcre2posix page.