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.