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:
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. 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. |