Ralf, for your information:
I have just committed a lot of new tidy-up code in pcre2_substring.c,
and also updated documentation, which I hope answers a number of your
comments. I have *not* implemented anything like pcre2_substring_isset()
because I'm not totally convinced it is needed, though I have documented
that you can use pcre2_substring_length_by{name,number} with a NULL
pointer to achieve the effect. It is, of course, something that can
easily be added - I've realized that it would have to be a function
rather than a macro, for the benefit of non-C languages that call the
library.
The substring extraction-by-number functions now work after a DFA match,
and the extraction-by-name functions give an error, because the names
bear no relation to the returned strings.
When the start is after the end of a match as a result of using \K in an
assertion, the extraction functions now return an empty string, and this
is documented.
I will probably put out a second release candidate sometime next week.
Philip
--
Philip Hazel