.TH PCRE2_SUBSTRING_LIST_GET 3 "21 October 2014" "PCRE2 10.00" .SH NAME PCRE2 - Perl-compatible regular expressions (revised API) .SH SYNOPSIS .rs .sp .B #include <pcre2.h> .PP .nf .B int pcre2_substring_list_get(pcre2_match_data *\fImatch_data\fP, .B " PCRE2_UCHAR ***\fIlistptr\fP, PCRE2_SIZE **\fIlengthsptr\fP); .fi . .SH DESCRIPTION .rs .sp This is a convenience function for extracting all the captured substrings after a pattern match. It builds a list of pointers to the strings, and (optionally) a second list that contains their lengths (in code units), excluding a terminating zero that is added to each of them. All this is done in a single block of memory that is obtained using the same memory allocation function that was used to get the match data block. The convenience function \fBpcre2_substring_list_free()\fP can be used to free it when it is no longer needed. The arguments are: .sp \fImatch_data\fP The match data block \fIlistptr\fP Where to put a pointer to the list \fIlengthsptr\fP Where to put a pointer to the lengths, or NULL .sp A pointer to a list of pointers is put in the variable whose address is in \fIlistptr\fP. The list is terminated by a NULL pointer. If \fIlengthsptr\fP is not NULL, a matching list of lengths is created, and its address is placed in \fIlengthsptr\fP. The yield of the function is zero on success or PCRE2_ERROR_NOMEMORY if sufficient memory could not be obtained. .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.