PCRE\_GET\_NAMED\_SUBSTRING(3) Library Functions Manual PCRE\_GET\_NAMED\_SUBSTRING(3)

# [NAME](#NAME)

PCRE - Perl-compatible regular expressions

# [SYNOPSIS](#SYNOPSIS)

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

```
int pcre_get_named_substring(const pcre *code,
     const char *subject, int *ovector,
     int stringcount, const char *stringname,
     const char **stringptr);

int pcre16_get_named_substring(const pcre16 *code,
     PCRE_SPTR16 subject, int *ovector,
     int stringcount, PCRE_SPTR16 stringname,
     PCRE_SPTR16 *stringptr);

int pcre32_get_named_substring(const pcre32 *code,
     PCRE_SPTR32 subject, int *ovector,
     int stringcount, PCRE_SPTR32 stringname,
     PCRE_SPTR32 *stringptr);
```

# [DESCRIPTION](#DESCRIPTION)

This is a convenience function for extracting a captured substring by name. The arguments are:

*code* Compiled pattern  
*subject* Subject that has been successfully matched  
*ovector* Offset vector that **pcre\[16|32]\_exec()** used  
*stringcount* Value returned by **pcre\[16|32]\_exec()**  
*stringname* Name of the required substring  
*stringptr* Where to put the string pointer

The memory in which the substring is placed is obtained by calling **pcre\[16|32]\_malloc()**. The convenience function **pcre\[16|32]\_free\_substring()** can be used to free it when it is no longer needed. The yield of the function is the length of the extracted substring, PCRE\_ERROR\_NOMEMORY if sufficient memory could not be obtained, or PCRE\_ERROR\_NOSUBSTRING if the string name 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_get_named_substring(3) from pcre 8.45-r11 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.bz2
