blob: bdc400eca4fe426c20607009baaee0a792b21596 [file] [log] [blame]
Janis Danisevskis112c9cc2016-03-31 13:35:25 +01001.TH PCRE2_SUBSTRING_LIST_GET 3 "21 October 2014" "PCRE2 10.00"
2.SH NAME
3PCRE2 - Perl-compatible regular expressions (revised API)
4.SH SYNOPSIS
5.rs
6.sp
7.B #include <pcre2.h>
8.PP
9.nf
10.B int pcre2_substring_list_get(pcre2_match_data *\fImatch_data\fP,
11.B " PCRE2_UCHAR ***\fIlistptr\fP, PCRE2_SIZE **\fIlengthsptr\fP);
12.fi
13.
14.SH DESCRIPTION
15.rs
16.sp
17This is a convenience function for extracting all the captured substrings after
18a pattern match. It builds a list of pointers to the strings, and (optionally)
19a second list that contains their lengths (in code units), excluding a
20terminating zero that is added to each of them. All this is done in a single
21block of memory that is obtained using the same memory allocation function that
22was used to get the match data block. The convenience function
23\fBpcre2_substring_list_free()\fP can be used to free it when it is no longer
24needed. The arguments are:
25.sp
26 \fImatch_data\fP The match data block
27 \fIlistptr\fP Where to put a pointer to the list
28 \fIlengthsptr\fP Where to put a pointer to the lengths, or NULL
29.sp
30A pointer to a list of pointers is put in the variable whose address is in
31\fIlistptr\fP. The list is terminated by a NULL pointer. If \fIlengthsptr\fP is
32not NULL, a matching list of lengths is created, and its address is placed in
33\fIlengthsptr\fP. The yield of the function is zero on success or
34PCRE2_ERROR_NOMEMORY if sufficient memory could not be obtained.
35.P
36There is a complete description of the PCRE2 native API in the
37.\" HREF
38\fBpcre2api\fP
39.\"
40page and a description of the POSIX API in the
41.\" HREF
42\fBpcre2posix\fP
43.\"
44page.