| .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. |