PCRE\_COPY\_SUBSTRING(3) Library Functions Manual PCRE\_COPY\_SUBSTRING(3)

# [NAME](#NAME)

PCRE - Perl-compatible regular expressions

# [SYNOPSIS](#SYNOPSIS)

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

```
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);
```

# [DESCRIPTION](#DESCRIPTION)

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.

24 June 2012 PCRE 8.30

---

Document: pcre_copy_substring(3) from pcre 8.45-r11 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.bz2
