This function matches a compiled regular expression against a given subject string, using an alternative matching algorithm that scans the subject string just once (except when processing lookaround assertions). This function is not Perl-compatible (the Perl-compatible matching function is pcre2_match()). The arguments for this function are:

code Points to the compiled patternsubject Points to the subject stringlength Length of the subject stringstartoffset Offset in the subject at which to start matchingoptions Option bitsmatch_data Points to a match data block, for resultsmcontext Points to a match context, or is NULLworkspace Points to a vector of ints used as working spacewscount Number of elements in the vector

For pcre2_dfa_match(), a match context is needed only if you want to set up a callout function or specify the match and/or the recursion depth limits. The length and startoffset values are code units, not characters. The options are:

PCRE2_ANCHORED Match only at the first position PCRE2_ENDANCHORED Pattern can match only at end of subject PCRE2_NOTBOL Subject is not the beginning of a line PCRE2_NOTEOL Subject is not the end of a line PCRE2_NOTEMPTY An empty string is not a valid match PCRE2_NOTEMPTY_ATSTART An empty string at the start of the subject is not a valid match PCRE2_NO_UTF_CHECK Do not check the subject for UTF validity (only relevant if PCRE2_UTF was set at compile time) PCRE2_PARTIAL_HARD Return PCRE2_ERROR_PARTIAL for a partial match even if there is a full match PCRE2_PARTIAL_SOFT Return PCRE2_ERROR_PARTIAL for a partial match if no full matches are found PCRE2_DFA_RESTART Restart after a partial match PCRE2_DFA_SHORTEST Return only the shortest match

There are restrictions on what may appear in a pattern when using this matching function. Details are given in the pcre2matching documentation. For details of partial matching, see the pcre2partial page. 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.