pcre_copy_substring(3)

pcre_copy_substring3

Perl-compatible regular expressions

Usage

#include <pcre.h>

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

Overview

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.

Releases

11 releases since Debian 3.1 (Sarge); the text changed 2 times.

  1. 3.1–6.0
  2. 7
  3. 8–Arch

From pcre 8.45-5 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.