PCRE2\_MATCH\_DATA\_FREE(3) Library Functions Manual PCRE2\_MATCH\_DATA\_FREE(3)

# [NAME](#NAME)

PCRE2 - Perl-compatible regular expressions (revised API)

# [SYNOPSIS](#SYNOPSIS)

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

```
void pcre2_match_data_free(pcre2_match_data *match_data);
```

# [DESCRIPTION](#DESCRIPTION)

If *match\_data* is NULL, this function does nothing. Otherwise, *match\_data* must point to a match data block, which this function frees, using the memory freeing function from the general context or compiled pattern with which it was created, or **free()** if that was not set. If the match data block was previously passed to **pcre2\_match()**, it will have an attached heapframe vector; this is also freed.

If the PCRE2\_COPY\_MATCHED\_SUBJECT was used for a successful match using this match data block, the copy of the subject that was referenced within the block is also freed.

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.

16 August 2023 PCRE2 10.49

---

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