2014-10-21 18:33:30 +02:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>pcre2_match specification</title>
|
|
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
|
|
|
|
<h1>pcre2_match man page</h1>
|
|
|
|
<p>
|
|
|
|
Return to the <a href="index.html">PCRE2 index page</a>.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
This page is part of the PCRE2 HTML documentation. It was generated
|
|
|
|
automatically from the original man page. If there is any nonsense in it,
|
|
|
|
please consult the man page, in case the conversion went wrong.
|
|
|
|
<br>
|
|
|
|
<br><b>
|
|
|
|
SYNOPSIS
|
|
|
|
</b><br>
|
|
|
|
<P>
|
|
|
|
<b>#include <pcre2.h></b>
|
|
|
|
</P>
|
|
|
|
<P>
|
|
|
|
<b>int pcre2_match(const pcre2_code *<i>code</i>, PCRE2_SPTR <i>subject</i>,</b>
|
|
|
|
<b> PCRE2_SIZE <i>length</i>, PCRE2_SIZE <i>startoffset</i>,</b>
|
|
|
|
<b> uint32_t <i>options</i>, pcre2_match_data *<i>match_data</i>,</b>
|
|
|
|
<b> pcre2_match_context *<i>mcontext</i>);</b>
|
|
|
|
</P>
|
|
|
|
<br><b>
|
|
|
|
DESCRIPTION
|
|
|
|
</b><br>
|
|
|
|
<P>
|
|
|
|
This function matches a compiled regular expression against a given subject
|
|
|
|
string, using a matching algorithm that is similar to Perl's. It returns
|
2017-12-22 16:56:27 +01:00
|
|
|
offsets to what it has matched and to captured substrings via the
|
|
|
|
<b>match_data</b> block, which can be processed by functions with names that
|
|
|
|
start with <b>pcre2_get_ovector_...()</b> or <b>pcre2_substring_...()</b>. The
|
|
|
|
return from <b>pcre2_match()</b> is one more than the highest numbered capturing
|
|
|
|
pair that has been set (for example, 1 if there are no captures), zero if the
|
|
|
|
vector of offsets is too small, or a negative error code for no match and other
|
|
|
|
errors. The function arguments are:
|
2014-10-21 18:33:30 +02:00
|
|
|
<pre>
|
|
|
|
<i>code</i> Points to the compiled pattern
|
|
|
|
<i>subject</i> Points to the subject string
|
|
|
|
<i>length</i> Length of the subject string
|
|
|
|
<i>startoffset</i> Offset in the subject at which to start matching
|
|
|
|
<i>options</i> Option bits
|
|
|
|
<i>match_data</i> Points to a match data block, for results
|
|
|
|
<i>mcontext</i> Points to a match context, or is NULL
|
|
|
|
</pre>
|
|
|
|
A match context is needed only if you want to:
|
|
|
|
<pre>
|
|
|
|
Set up a callout function
|
2017-07-19 18:04:15 +02:00
|
|
|
Set a matching offset limit
|
|
|
|
Change the heap memory limit
|
|
|
|
Change the backtracking match limit
|
2017-03-25 12:52:22 +01:00
|
|
|
Change the backtracking depth limit
|
2017-03-28 18:34:29 +02:00
|
|
|
Set custom memory management specifically for the match
|
2014-10-21 18:33:30 +02:00
|
|
|
</pre>
|
|
|
|
The <i>length</i> and <i>startoffset</i> values are code
|
2017-07-19 18:04:15 +02:00
|
|
|
units, not characters. The length may be given as PCRE2_ZERO_TERMINATE for a
|
2017-03-25 12:52:22 +01:00
|
|
|
subject that is terminated by a binary zero code unit. The options are:
|
2014-10-21 18:33:30 +02:00
|
|
|
<pre>
|
|
|
|
PCRE2_ANCHORED Match only at the first position
|
2017-04-06 20:02:40 +02:00
|
|
|
PCRE2_ENDANCHORED Pattern can match only at end of subject
|
2014-10-21 18:33:30 +02:00
|
|
|
PCRE2_NOTBOL Subject string is not the beginning of a line
|
|
|
|
PCRE2_NOTEOL Subject string is not the end of a line
|
|
|
|
PCRE2_NOTEMPTY An empty string is not a valid match
|
2017-03-25 12:52:22 +01: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
|
|
|
PCRE2_NO_JIT Do not use JIT matching
|
2017-03-25 12:52:22 +01:00
|
|
|
PCRE2_NO_UTF_CHECK Do not check the subject for UTF validity (only relevant if PCRE2_UTF
|
2014-10-21 18:33:30 +02:00
|
|
|
was set at compile time)
|
2017-03-25 12:52:22 +01:00
|
|
|
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
|
2014-10-21 18:33:30 +02:00
|
|
|
</pre>
|
|
|
|
For details of partial matching, see the
|
|
|
|
<a href="pcre2partial.html"><b>pcre2partial</b></a>
|
|
|
|
page. There is a complete description of the PCRE2 native API in the
|
|
|
|
<a href="pcre2api.html"><b>pcre2api</b></a>
|
|
|
|
page and a description of the POSIX API in the
|
|
|
|
<a href="pcre2posix.html"><b>pcre2posix</b></a>
|
|
|
|
page.
|
|
|
|
<p>
|
|
|
|
Return to the <a href="index.html">PCRE2 index page</a>.
|
|
|
|
</p>
|