#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_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 Options used for compilation PCRE_INFO_SIZE Size of compiled pattern
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 API in the pcreapi page.