PCRE2\_SUBSTRING\_COPY\_BYNUMBER(3) Library Functions Manual PCRE2\_SUBSTRING\_COPY\_BYNUMBER(3)

# [NAME](#NAME)

PCRE2 - Perl-compatible regular expressions (revised API)

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;pcre2.h&gt;**

```
int pcre2_substring_copy_bynumber(pcre2_match_data *match_data,
  uint32_t number, PCRE2_UCHAR *buffer,
  PCRE2_SIZE *bufflen);
```

# [DESCRIPTION](#DESCRIPTION)

This is a convenience function for extracting a captured substring into a given buffer. The arguments are:

*match\_data* The match data block for the match  
*number* Number of the required substring  
*buffer* Buffer to receive the string  
*bufflen* Length of buffer

The *bufflen* variable is updated with the length of the extracted string, excluding the terminating zero. The yield of the function is zero for success or one of the following error numbers:

PCRE2\_ERROR\_NOSUBSTRING there are no groups of that number  
PCRE2\_ERROR\_UNAVAILBLE the ovector was too small for that group  
PCRE2\_ERROR\_UNSET the group did not participate in the match  
PCRE2\_ERROR\_NOMEMORY the buffer is too small

There is a complete description of the PCRE2 native API in the **pcre2api** page and a description of the POSIX API in the **pcre2posix** page.

13 December 2014 PCRE2 10.49

---

Document: pcre2_substring_copy_bynumber(3) from pcre2 10.49-r1 (Chainguard OS)
Source: https://github.com/PCRE2Project/pcre2.git
