#include <pcre2.h>
pcre2_match_context *pcre2_match_context_copy( pcre2_match_context *mcontext);
This function makes a new copy of a match context, using the memory allocation function that was used for the original context. The result is NULL if the memory cannot be obtained.
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.