pcre2_callout_enumerate man page

PCRE2 — Perl-compatible regular expressions (revised API)


#include <pcre2.h>

int pcre2_callout_enumerate(const pcre2_code *code,
 int (*callback)(pcre2_callout_enumerate_block *, void *),
 void *callout_data);


This function scans a compiled regular expression and calls the callback() function for each callout within the pattern. The yield of the function is zero for success and non-zero otherwise. The arguments are:

code Points to the compiled pattern
callback The callback function
callout_data User data that is passed to the callback

The callback() function is passed a pointer to a data block containing the following fields:

version Block version number
pattern_position Offset to next item in pattern
next_item_length Length of next item in pattern
callout_number Number for numbered callouts
callout_string_offset Offset to string within pattern
callout_string_length Length of callout string
callout_string Points to callout string or is NULL

The second argument is the callout data that was passed to pcre2_callout_enumerate(). The callback() function must return zero for success. Any other value causes the pattern scan to stop, with the value being passed back as the result of pcre2_callout_enumerate().

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.


PCRE2 10.20 23 March 2015