123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <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> Primary 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 NULL pattern with zero length is treated as an empty
- string. 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 (see <b>pcre2_set_compile_recursion_guard()</b>), 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.
- </pre>
- The primary 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
- <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>
|