| .TH PCRE2_MATCH 3 "14 November 2017" "PCRE2 10.31" |
| .SH NAME |
| PCRE2 - Perl-compatible regular expressions (revised API) |
| .SH SYNOPSIS |
| .rs |
| .sp |
| .B #include <pcre2.h> |
| .PP |
| .nf |
| .B int pcre2_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);" |
| .fi |
| . |
| .SH DESCRIPTION |
| .rs |
| .sp |
| This function matches a compiled regular expression against a given subject |
| string, using a matching algorithm that is similar to Perl's. It returns |
| offsets to what it has matched and to captured substrings via the |
| \fBmatch_data\fP block, which can be processed by functions with names that |
| start with \fBpcre2_get_ovector_...()\fP or \fBpcre2_substring_...()\fP. The |
| return from \fBpcre2_match()\fP 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: |
| .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 |
| .sp |
| A match context is needed only if you want to: |
| .sp |
| Set up a callout function |
| Set a matching offset limit |
| Change the heap memory limit |
| Change the backtracking match limit |
| Change the backtracking depth limit |
| Set custom memory management specifically for the match |
| .sp |
| The \fIlength\fP and \fIstartoffset\fP values are code |
| units, not characters. The length may be given as PCRE2_ZERO_TERMINATE for a |
| subject that is terminated by a binary zero code unit. The options are: |
| .sp |
| PCRE2_ANCHORED Match only at the first position |
| PCRE2_ENDANCHORED Pattern can match only at end of subject |
| 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 |
| .\" JOIN |
| PCRE2_NOTEMPTY_ATSTART An empty string at the start of the subject |
| is not a valid match |
| PCRE2_NO_JIT Do not use JIT matching |
| .\" JOIN |
| PCRE2_NO_UTF_CHECK Do not check the subject for UTF |
| validity (only relevant if PCRE2_UTF |
| was set at compile time) |
| .\" JOIN |
| PCRE2_PARTIAL_HARD Return PCRE2_ERROR_PARTIAL for a partial |
| match even if there is a full match |
| .\" JOIN |
| PCRE2_PARTIAL_SOFT Return PCRE2_ERROR_PARTIAL for a partial |
| match if no full matches are found |
| .sp |
| 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. |