| .TH PCRE2_PATTERN_INFO 3 "14 February 2019" "PCRE2 10.33" |
| .SH NAME |
| PCRE2 - Perl-compatible regular expressions (revised API) |
| .SH SYNOPSIS |
| .rs |
| .sp |
| .B #include <pcre2.h> |
| .PP |
| .nf |
| .B int pcre2_pattern_info(const pcre2_code *\fIcode\fP, uint32_t \fIwhat\fP, |
| .B " void *\fIwhere\fP);" |
| .fi |
| . |
| .SH DESCRIPTION |
| .rs |
| .sp |
| This function returns information about a compiled pattern. Its arguments are: |
| .sp |
| \fIcode\fP Pointer to a compiled regular expression pattern |
| \fIwhat\fP What information is required |
| \fIwhere\fP Where to put the information |
| .sp |
| The recognized values for the \fIwhat\fP argument, and the information they |
| request are as follows: |
| .sp |
| PCRE2_INFO_ALLOPTIONS Final options after compiling |
| PCRE2_INFO_ARGOPTIONS Options passed to \fBpcre2_compile()\fP |
| PCRE2_INFO_BACKREFMAX Number of highest backreference |
| PCRE2_INFO_BSR What \eR matches: |
| PCRE2_BSR_UNICODE: Unicode line endings |
| PCRE2_BSR_ANYCRLF: CR, LF, or CRLF only |
| PCRE2_INFO_CAPTURECOUNT Number of capturing subpatterns |
| .\" JOIN |
| 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 \eC |
| .\" JOIN |
| PCRE2_INFO_HASCRORLF Return 1 if explicit CR or LF matches |
| exist in the pattern |
| .\" JOIN |
| 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 |
| .\" JOIN |
| PCRE2_INFO_MATCHEMPTY 1 if the pattern can match an |
| empty string, 0 otherwise |
| .\" JOIN |
| PCRE2_INFO_MATCHLIMIT Match limit if set, |
| otherwise PCRE2_ERROR_UNSET |
| .\" JOIN |
| 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 |
| .sp |
| If \fIwhere\fP is NULL, the function returns the amount of memory needed for |
| the requested information, in bytes. Otherwise, the \fIwhere\fP argument must |
| point to an unsigned 32-bit integer (uint32_t variable), except for the |
| following \fIwhat\fP values, when it must point to a variable of the type |
| shown: |
| .sp |
| PCRE2_INFO_FIRSTBITMAP const uint8_t * |
| PCRE2_INFO_JITSIZE size_t |
| PCRE2_INFO_NAMETABLE PCRE2_SPTR |
| PCRE2_INFO_SIZE size_t |
| .sp |
| The yield of the function is zero on success or: |
| .sp |
| PCRE2_ERROR_NULL the argument \fIcode\fP is NULL |
| PCRE2_ERROR_BADMAGIC the "magic number" was not found |
| PCRE2_ERROR_BADOPTION the value of \fIwhat\fP is invalid |
| PCRE2_ERROR_BADMODE the pattern was compiled in the wrong mode |
| PCRE2_ERROR_UNSET the requested information is not set |
| .P |
| There is a complete description of the PCRE2 native API in the |
| .\" HREF |
| \fBpcre2api\fP |
| .\" |
| page and a description of the POSIX API in the |
| .\" HREF |
| \fBpcre2posix\fP |
| .\" |
| page. |