108 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <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>
 | |
| 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>
 | |
| <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>
 |