#include <pcre.h>
int pcre_fullinfo(const pcre *code, "const pcre_extra *extra," int what,
void *where);
This function returns information about a compiled pattern. Its arguments are:
code Compiled regular
expression
extra Result of pcre_study() or NULL
what What information is required
where Where to put the information
The following information is available:
PCRE_INFO_BACKREFMAX Number
of highest back reference
PCRE_INFO_CAPTURECOUNT Number of capturing subpatterns
PCRE_INFO_DEFAULT_TABLES Pointer to default tables
PCRE_INFO_FIRSTBYTE Fixed first byte for a match, or
-1 for start of string
or after newline, or
-2 otherwise
PCRE_INFO_FIRSTTABLE Table of first bytes
(after studying)
PCRE_INFO_LASTLITERAL Literal last byte required
PCRE_INFO_NAMECOUNT Number of named subpatterns
PCRE_INFO_NAMEENTRYSIZE Size of name table entry
PCRE_INFO_NAMETABLE Pointer to name table
PCRE_INFO_OPTIONS Option bits used for compilation
PCRE_INFO_SIZE Size of compiled pattern
PCRE_INFO_STUDYSIZE Size of study data
The yield of the function is zero on success or:
PCRE_ERROR_NULL
the argument code was NULL
the argument where was NULL
PCRE_ERROR_BADMAGIC the "magic number" was not found
PCRE_ERROR_BADOPTION the value of what was invalid
There is a complete description of the PCRE native API in the pcreapi page and a description of the POSIX API in the pcreposix page.