PCRE2_SUBSTRING_COPY_BYNUMBER(3)

πŸ’… NAME

okay bestie, welcome to PCRE2_SUBSTRING_COPY_BYNUMBER(3) from the Library Functions Manual β€” and it’s all about PCRE2 - Perl-compatible regular expressions (revised API). πŸ’–

✨ SYNOPSIS

#include <pcre2.h>

int pcre2_substring_copy_bynumber(pcre2_match_data *match_data,
  uint32_t number, PCRE2_UCHAR *buffer,
  PCRE2_SIZE *bufflen);

πŸŽ€ DESCRIPTION

So this is a convenience function for extracting a captured substring into a given buffer. It’s giving β€œgrab the match, put it in your buffer” energy, no cap. The arguments are:

  • match_data β€” the match data block for the match
  • number β€” number of the required substring
  • buffer β€” buffer to receive the string
  • bufflen β€” length of buffer

The bufflen variable gets updated with the length of the extracted string, excluding the terminating zero. Important detail, bestie. 🫢

The yield of the function is zero for success, or one of these error numbers:

  • PCRE2_ERROR_NOSUBSTRING β€” there are no groups of that number
  • PCRE2_ERROR_UNAVAILBLE β€” the ovector was too small for that group
  • PCRE2_ERROR_UNSET β€” the group did not participate in the match
  • PCRE2_ERROR_NOMEMORY β€” the buffer is too small

If you want the whole lore, 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. ✨


xoxo, signing off for PCRE2_SUBSTRING_COPY_BYNUMBER(3) β€” PCRE2 10.47, 13 December 2014 πŸ’–πŸŽ€

πŸ“¦ where this page comes from