Spaces:
Running
Running
<html> | |
<head> | |
<title>pcre2_compile specification</title> | |
</head> | |
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB"> | |
<h1>pcre2_compile 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>pcre2_code *pcre2_compile(PCRE2_SPTR <i>pattern</i>, PCRE2_SIZE <i>length</i>,</b> | |
<b> uint32_t <i>options</i>, int *<i>errorcode</i>, PCRE2_SIZE *<i>erroroffset,</i></b> | |
<b> pcre2_compile_context *<i>ccontext</i>);</b> | |
</P> | |
<br><b> | |
DESCRIPTION | |
</b><br> | |
<P> | |
This function compiles a regular expression pattern into an internal form. Its | |
arguments are: | |
<pre> | |
<i>pattern</i> A string containing expression to be compiled | |
<i>length</i> The length of the string or PCRE2_ZERO_TERMINATED | |
<i>options</i> Option bits | |
<i>errorcode</i> Where to put an error code | |
<i>erroffset</i> Where to put an error offset | |
<i>ccontext</i> Pointer to a compile context or NULL | |
</pre> | |
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: | |
<pre> | |
What \R 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()) | |
</pre> | |
The option bits are: | |
<pre> | |
PCRE2_ANCHORED Force pattern anchoring | |
PCRE2_ALLOW_EMPTY_CLASS Allow empty classes | |
PCRE2_ALT_BSUX Alternative handling of \u, \U, and \x | |
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 \C 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 \d, \w, 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 | |
</pre> | |
PCRE2 must be built with Unicode support (the default) in order to use | |
PCRE2_UTF, PCRE2_UCP and related options. | |
</P> | |
<P> | |
Additional options may be set in the compile context via the | |
<a href="pcre2_set_compile_extra_options.html"><b>pcre2_set_compile_extra_options</b></a> | |
function. | |
</P> | |
<P> | |
If either of <i>errorcode</i> or <i>erroroffset</i> is NULL, the function returns | |
NULL immediately. Otherwise, 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. In the error case, a text error message can be obtained by | |
passing the value returned via the <i>errorcode</i> argument to the the | |
<b>pcre2_get_error_message()</b> function. The offset (in code units) where the | |
error was encountered is returned via the <i>erroroffset</i> argument. | |
</P> | |
<P> | |
If there is no error, the value passed via <i>errorcode</i> returns the message | |
"no error" if passed to <b>pcre2_get_error_message()</b>, and the value passed | |
via <i>erroroffset</i> is zero. | |
</P> | |
<P> | |
There is a complete description of the PCRE2 native API, with more detail on | |
each option, 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> | |