1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- .TH PCRE2_COMPILE 3 "23 May 2019" "PCRE2 10.34"
- .SH NAME
- PCRE2 - Perl-compatible regular expressions (revised API)
- .SH SYNOPSIS
- .rs
- .sp
- .B #include <pcre2.h>
- .PP
- .nf
- .B pcre2_code *pcre2_compile(PCRE2_SPTR \fIpattern\fP, PCRE2_SIZE \fIlength\fP,
- .B " uint32_t \fIoptions\fP, int *\fIerrorcode\fP, PCRE2_SIZE *\fIerroroffset,\fP"
- .B " pcre2_compile_context *\fIccontext\fP);"
- .fi
- .
- .SH DESCRIPTION
- .rs
- .sp
- This function compiles a regular expression pattern into an internal form. Its
- arguments are:
- .sp
- \fIpattern\fP A string containing expression to be compiled
- \fIlength\fP The length of the string or PCRE2_ZERO_TERMINATED
- \fIoptions\fP Option bits
- \fIerrorcode\fP Where to put an error code
- \fIerroffset\fP Where to put an error offset
- \fIccontext\fP Pointer to a compile context or NULL
- .sp
- The length of the pattern and any error offset that is returned are in code
- units, not characters. A compile context is needed only if you want to provide
- custom memory allocation functions, or to provide an external function for
- system stack size checking, or to change one or more of these parameters:
- .sp
- What \eR matches (Unicode newlines, or CR, LF, CRLF only);
- PCRE2's character tables;
- The newline character sequence;
- The compile time nested parentheses limit;
- The maximum pattern length (in code units) that is allowed.
- The additional options bits (see pcre2_set_compile_extra_options())
- .sp
- The option bits are:
- .sp
- PCRE2_ANCHORED Force pattern anchoring
- PCRE2_ALLOW_EMPTY_CLASS Allow empty classes
- PCRE2_ALT_BSUX Alternative handling of \eu, \eU, and \ex
- PCRE2_ALT_CIRCUMFLEX Alternative handling of ^ in multiline mode
- PCRE2_ALT_VERBNAMES Process backslashes in verb names
- PCRE2_AUTO_CALLOUT Compile automatic callouts
- PCRE2_CASELESS Do caseless matching
- PCRE2_DOLLAR_ENDONLY $ not to match newline at end
- PCRE2_DOTALL . matches anything including NL
- PCRE2_DUPNAMES Allow duplicate names for subpatterns
- PCRE2_ENDANCHORED Pattern can match only at end of subject
- PCRE2_EXTENDED Ignore white space and # comments
- PCRE2_FIRSTLINE Force matching to be before newline
- PCRE2_LITERAL Pattern characters are all literal
- PCRE2_MATCH_INVALID_UTF Enable support for matching invalid UTF
- PCRE2_MATCH_UNSET_BACKREF Match unset backreferences
- PCRE2_MULTILINE ^ and $ match newlines within data
- PCRE2_NEVER_BACKSLASH_C Lock out the use of \eC in patterns
- PCRE2_NEVER_UCP Lock out PCRE2_UCP, e.g. via (*UCP)
- PCRE2_NEVER_UTF Lock out PCRE2_UTF, e.g. via (*UTF)
- PCRE2_NO_AUTO_CAPTURE Disable numbered capturing paren-
- theses (named ones available)
- PCRE2_NO_AUTO_POSSESS Disable auto-possessification
- PCRE2_NO_DOTSTAR_ANCHOR Disable automatic anchoring for .*
- PCRE2_NO_START_OPTIMIZE Disable match-time start optimizations
- PCRE2_NO_UTF_CHECK Do not check the pattern for UTF validity
- (only relevant if PCRE2_UTF is set)
- PCRE2_UCP Use Unicode properties for \ed, \ew, etc.
- PCRE2_UNGREEDY Invert greediness of quantifiers
- PCRE2_USE_OFFSET_LIMIT Enable offset limit for unanchored matching
- PCRE2_UTF Treat pattern and subjects as UTF strings
- .sp
- PCRE2 must be built with Unicode support (the default) in order to use
- PCRE2_UTF, PCRE2_UCP and related options.
- .P
- Additional options may be set in the compile context via the
- .\" HREF
- \fBpcre2_set_compile_extra_options\fP
- .\"
- function.
- .P
- The yield of this function is a pointer to a private data structure that
- contains the compiled pattern, or NULL if an error was detected.
- .P
- There is a complete description of the PCRE2 native API, with more detail on
- each option, in the
- .\" HREF
- \fBpcre2api\fP
- .\"
- page, and a description of the POSIX API in the
- .\" HREF
- \fBpcre2posix\fP
- .\"
- page.
|