PCRE - Perl-compatible regular expressions
#include <pcre.h>
int pcre_copy_substring(const char *subject, int *ovector,
int stringcount, int stringnumber, char *buffer,
int buffersize);
int pcre16_copy_substring(PCRE_SPTR16 subject, int *ovector,
int stringcount, int stringnumber, PCRE_UCHAR16 *buffer,
int buffersize);
int pcre32_copy_substring(PCRE_SPTR32 subject, int *ovector,
int stringcount, int stringnumber, PCRE_UCHAR32 *buffer,
int buffersize);
This is a convenience function for extracting a captured substring into a given buffer. The arguments are:
subject Subject that has been successfully matched ovector Offset vector that pcre[16|32]_exec() used stringcount Value returned by pcre[16|32]_exec() stringnumber Number of the required substring buffer Buffer to receive the string buffersize Size of buffer
The yield is the length of the string, PCRE_ERROR_NOMEMORY if the buffer was too small, or PCRE_ERROR_NOSUBSTRING if the string number is 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.