Provided by: libpcre2-dev_10.31-2_amd64 bug

NAME

       PCRE2 - Perl-compatible regular expressions (revised API)

SIZE AND OTHER LIMITATIONS


       There  are some size limitations in PCRE2 but it is hoped that they will never in practice
       be relevant.

       The maximum size of a compiled pattern is approximately 64K code units for the  8-bit  and
       16-bit  libraries  if PCRE2 is compiled with the default internal linkage size, which is 2
       bytes for these libraries. If you want to  process  regular  expressions  that  are  truly
       enormous, you can compile PCRE2 with an internal linkage size of 3 or 4 (when building the
       16-bit library, 3 is rounded up to 4). See the README file in the source distribution  and
       the  pcre2build  documentation  for  details.  In  these  cases the limit is substantially
       larger.  However, the speed of execution is slower. In the 32-bit  library,  the  internal
       linkage size is always 4.

       The  maximum length of a source pattern string is essentially unlimited; it is the largest
       number a PCRE2_SIZE variable can hold. However, the program that calls pcre2_compile() can
       specify a smaller limit.

       The maximum length (in code units) of a subject string is one less than the largest number
       a PCRE2_SIZE variable can hold. PCRE2_SIZE is an unsigned integer type, usually defined as
       size_t.  Its maximum value (that is ~(PCRE2_SIZE)0) is reserved as a special indicator for
       zero-terminated strings and unset offsets.

       All values in repeating quantifiers must be less than 65536.

       The maximum length of a lookbehind assertion is 65535 characters.

       There is no limit to the number of parenthesized subpatterns, but there  can  be  no  more
       than  65535  capturing  subpatterns. There is, however, a limit to the depth of nesting of
       parenthesized subpatterns of all kinds. This is imposed in order to limit  the  amount  of
       system stack used at compile time. The default limit can be specified when PCRE2 is built;
       the  default  default  is  250.  An  application  can  change  this   limit   by   calling
       pcre2_set_parens_nest_limit() to set the limit in a compile context.

       The maximum length of name for a named subpattern is 32 code units, and the maximum number
       of named subpatterns is 10000.

       The maximum length of a name in a (*MARK), (*PRUNE), (*SKIP), or (*THEN) verb is 255  code
       units for the 8-bit library and 65535 code units for the 16-bit and 32-bit libraries.

       The  maximum  length  of  a  string  argument  to a callout is the largest number a 32-bit
       unsigned integer can hold.

AUTHOR


       Philip Hazel
       University Computing Service
       Cambridge, England.

REVISION


       Last updated: 30 March 2017
       Copyright (c) 1997-2017 University of Cambridge.