# pcre2_pattern_info

## NAME



           PCRE2 - Perl-compatible regular expressions (revised API)
    


## SYNOPSIS



    
           **#include <pcre2.h>**
    
           **int pcre2_pattern_info(const pcre2_code ***_code_**, uint32_t** _what_**,**
              **void ***_where_**);**
    


## DESCRIPTION



    
           This function returns information about a compiled pattern. Its
           arguments are:
    
             _code_     Pointer to a compiled regular expression pattern
             _what_     What information is required
             _where_    Where to put the information
    
           The recognized values for the _what_ argument, and the information
           they request are as follows:
    
             PCRE2_INFO_ALLOPTIONS      Final options after compiling
             PCRE2_INFO_ARGOPTIONS      Options passed to **pcre2_compile()**
             PCRE2_INFO_BACKREFMAX      Number of highest backreference
             PCRE2_INFO_BSR             What \R matches:
                                          PCRE2_BSR_UNICODE: Unicode line
           endings
                                          PCRE2_BSR_ANYCRLF: CR, LF, or CRLF
           only
             PCRE2_INFO_CAPTURECOUNT    Number of capturing subpatterns
             PCRE2_INFO_DEPTHLIMIT      Backtracking depth limit if set,
                                          otherwise PCRE2_ERROR_UNSET
             PCRE2_INFO_EXTRAOPTIONS    Extra options that were passed in the
                                          compile context
             PCRE2_INFO_FIRSTBITMAP     Bitmap of first code units, or NULL
             PCRE2_INFO_FIRSTCODETYPE   Type of start-of-match information
                                          0 nothing set
                                          1 first code unit is set
                                          2 start of string or after newline
             PCRE2_INFO_FIRSTCODEUNIT   First code unit when type is 1
             PCRE2_INFO_FRAMESIZE       Size of backtracking frame
             PCRE2_INFO_HASBACKSLASHC   Return 1 if pattern contains \C
             PCRE2_INFO_HASCRORLF       Return 1 if explicit CR or LF matches
                                          exist in the pattern
             PCRE2_INFO_HEAPLIMIT       Heap memory limit if set,
                                          otherwise PCRE2_ERROR_UNSET
             PCRE2_INFO_JCHANGED        Return 1 if (?J) or (?-J) was used
             PCRE2_INFO_JITSIZE         Size of JIT compiled code, or 0
             PCRE2_INFO_LASTCODETYPE    Type of must-be-present information
                                          0 nothing set
                                          1 code unit is set
             PCRE2_INFO_LASTCODEUNIT    Last code unit when type is 1
             PCRE2_INFO_MATCHEMPTY      1 if the pattern can match an
                                          empty string, 0 otherwise
             PCRE2_INFO_MATCHLIMIT      Match limit if set,
                                          otherwise PCRE2_ERROR_UNSET
             PCRE2_INFO_MAXLOOKBEHIND   Length (in characters) of the longest
                                          lookbehind assertion
             PCRE2_INFO_MINLENGTH       Lower bound length of matching
           strings
             PCRE2_INFO_NAMECOUNT       Number of named subpatterns
             PCRE2_INFO_NAMEENTRYSIZE   Size of name table entries
             PCRE2_INFO_NAMETABLE       Pointer to name table
             PCRE2_CONFIG_NEWLINE       Code for the newline sequence:
                                          PCRE2_NEWLINE_CR
                                          PCRE2_NEWLINE_LF
                                          PCRE2_NEWLINE_CRLF
                                          PCRE2_NEWLINE_ANY
                                          PCRE2_NEWLINE_ANYCRLF
                                          PCRE2_NEWLINE_NUL
             PCRE2_INFO_RECURSIONLIMIT  Obsolete synonym for
           PCRE2_INFO_DEPTHLIMIT
             PCRE2_INFO_SIZE            Size of compiled pattern
    
           If _where_ is NULL, the function returns the amount of memory needed
           for the requested information, in bytes. Otherwise, the _where_
           argument must point to an unsigned 32-bit integer (uint32_t
           variable), except for the following _what_ values, when it must
           point to a variable of the type shown:
    
             PCRE2_INFO_FIRSTBITMAP     const uint8_t *
             PCRE2_INFO_JITSIZE         size_t
             PCRE2_INFO_NAMETABLE       PCRE2_SPTR
             PCRE2_INFO_SIZE            size_t
    
           The yield of the function is zero on success or:
    
             PCRE2_ERROR_NULL           the argument _code_ is NULL
             PCRE2_ERROR_BADMAGIC       the "magic number" was not found
             PCRE2_ERROR_BADOPTION      the value of _what_ is invalid
             PCRE2_ERROR_BADMODE        the pattern was compiled in the wrong
           mode
             PCRE2_ERROR_UNSET          the requested information is not set
    
           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.
    


* * *