PCRE2 — Perl-compatible regular expressions (revised API)
#include <pcre2.h> int pcre2_dfa_match(const pcre2_code *code, PCRE2_SPTRsubject, PCRE2_SIZElength, PCRE2_SIZEstartoffset, uint32_toptions, pcre2_match_data *match_data, pcre2_match_context *mcontext, int *workspace, PCRE2_SIZEwscount);
This function matches a compiled regular expression
against a given subject string, using an alternative matching
algorithm that scans the subject string just once
(not Perl-compatible).
(The Perl-compatible matching function is pcre2_match().) The arguments for this
function are:
codePoints to the compiled patternsubjectPoints to the subject stringlengthLength of the subject stringstartoffsetOffset in the subject at which to start matchingoptionsOption bitsmatch_dataPoints to a match data block, for resultsmcontextPoints to a match context, or is NULLworkspacePoints to a vector of ints used as working spacewscountNumber of elements in the vector
For pcre2_dfa_match(), a
match context is needed only if you want to set up a callout
function. The length and
startoffset values are code
units, not characters. The options are:
PCRE2_ANCHORED Match only at the first position
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_SOFT Return PCRE2_ERROR_PARTIAL for a partial
match if no full matches are found
PCRE2_PARTIAL_HARD Return PCRE2_ERROR_PARTIAL for a partial match
even if there is a full match as well
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(3) documentation. For details of partial matching, see the pcre2partial(3) page. There is a complete description of the PCRE2 native API in the pcre2api(3) page and a description of the POSIX API in the pcre2posix(3) page.
| COPYRIGHT |
|---|
|
This manual page is taken from the PCRE library, which is distributed under the BSD license. |