2021-08-28 17:25:59 +02:00
|
|
|
.TH PCRE2_DFA_MATCH 3 "28 August 2021" "PCRE2 10.38"
|
2014-10-21 18:33:30 +02:00
|
|
|
.SH NAME
|
|
|
|
PCRE2 - Perl-compatible regular expressions (revised API)
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.rs
|
|
|
|
.sp
|
|
|
|
.B #include <pcre2.h>
|
|
|
|
.PP
|
|
|
|
.nf
|
|
|
|
.B int pcre2_dfa_match(const pcre2_code *\fIcode\fP, PCRE2_SPTR \fIsubject\fP,
|
|
|
|
.B " PCRE2_SIZE \fIlength\fP, PCRE2_SIZE \fIstartoffset\fP,"
|
|
|
|
.B " uint32_t \fIoptions\fP, pcre2_match_data *\fImatch_data\fP,"
|
|
|
|
.B " pcre2_match_context *\fImcontext\fP,"
|
|
|
|
.B " int *\fIworkspace\fP, PCRE2_SIZE \fIwscount\fP);"
|
|
|
|
.fi
|
|
|
|
.
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.rs
|
|
|
|
.sp
|
|
|
|
This function matches a compiled regular expression against a given subject
|
|
|
|
string, using an alternative matching algorithm that scans the subject string
|
2017-03-24 17:53:38 +01:00
|
|
|
just once (except when processing lookaround assertions). This function is
|
|
|
|
\fInot\fP Perl-compatible (the Perl-compatible matching function is
|
|
|
|
\fBpcre2_match()\fP). The arguments for this function are:
|
2014-10-21 18:33:30 +02:00
|
|
|
.sp
|
|
|
|
\fIcode\fP Points to the compiled pattern
|
|
|
|
\fIsubject\fP Points to the subject string
|
|
|
|
\fIlength\fP Length of the subject string
|
|
|
|
\fIstartoffset\fP Offset in the subject at which to start matching
|
|
|
|
\fIoptions\fP Option bits
|
|
|
|
\fImatch_data\fP Points to a match data block, for results
|
|
|
|
\fImcontext\fP Points to a match context, or is NULL
|
|
|
|
\fIworkspace\fP Points to a vector of ints used as working space
|
|
|
|
\fIwscount\fP Number of elements in the vector
|
|
|
|
.sp
|
2021-08-28 17:25:59 +02:00
|
|
|
The size of output vector needed to contain all the results depends on the
|
|
|
|
number of simultaneous matches, not on the number of parentheses in the
|
|
|
|
pattern. Using \fBpcre2_match_data_create_from_pattern()\fP to create the match
|
|
|
|
data block is therefore not advisable when using this function.
|
|
|
|
.P
|
|
|
|
A match context is needed only if you want to set up a callout function or
|
|
|
|
specify the heap limit or the match or the recursion depth limits. The
|
|
|
|
\fIlength\fP and \fIstartoffset\fP values are code units, not characters. The
|
|
|
|
options are:
|
2014-10-21 18:33:30 +02:00
|
|
|
.sp
|
|
|
|
PCRE2_ANCHORED Match only at the first position
|
2018-10-17 10:33:38 +02:00
|
|
|
PCRE2_COPY_MATCHED_SUBJECT
|
2019-03-04 19:07:04 +01:00
|
|
|
On success, make a private subject copy
|
2017-04-04 19:09:33 +02:00
|
|
|
PCRE2_ENDANCHORED Pattern can match only at end of subject
|
2014-10-21 18:33:30 +02:00
|
|
|
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
|
2017-07-19 18:04:15 +02:00
|
|
|
.\" JOIN
|
2014-10-21 18:33:30 +02:00
|
|
|
PCRE2_NOTEMPTY_ATSTART An empty string at the start of the subject
|
|
|
|
is not a valid match
|
2017-07-19 18:04:15 +02:00
|
|
|
.\" JOIN
|
2014-10-21 18:33:30 +02:00
|
|
|
PCRE2_NO_UTF_CHECK Do not check the subject for UTF
|
|
|
|
validity (only relevant if PCRE2_UTF
|
|
|
|
was set at compile time)
|
2017-07-19 18:04:15 +02:00
|
|
|
.\" JOIN
|
2017-03-24 17:53:38 +01:00
|
|
|
PCRE2_PARTIAL_HARD Return PCRE2_ERROR_PARTIAL for a partial
|
|
|
|
match even if there is a full match
|
2017-07-19 18:04:15 +02:00
|
|
|
.\" JOIN
|
2014-10-21 18:33:30 +02:00
|
|
|
PCRE2_PARTIAL_SOFT Return PCRE2_ERROR_PARTIAL for a partial
|
2017-03-24 17:53:38 +01:00
|
|
|
match if no full matches are found
|
2014-10-21 18:33:30 +02:00
|
|
|
PCRE2_DFA_RESTART Restart after a partial match
|
|
|
|
PCRE2_DFA_SHORTEST Return only the shortest match
|
|
|
|
.sp
|
|
|
|
There are restrictions on what may appear in a pattern when using this matching
|
|
|
|
function. Details are given in the
|
|
|
|
.\" HREF
|
|
|
|
\fBpcre2matching\fP
|
|
|
|
.\"
|
|
|
|
documentation. For details of partial matching, see the
|
|
|
|
.\" HREF
|
|
|
|
\fBpcre2partial\fP
|
|
|
|
.\"
|
|
|
|
page. There is a complete description of the PCRE2 native API in the
|
|
|
|
.\" HREF
|
|
|
|
\fBpcre2api\fP
|
|
|
|
.\"
|
|
|
|
page and a description of the POSIX API in the
|
|
|
|
.\" HREF
|
|
|
|
\fBpcre2posix\fP
|
|
|
|
.\"
|
|
|
|
page.
|