1<html> 2<!-- This is a manually maintained file that is the root of the HTML version of 3 the PCRE2 documentation. When the HTML documents are built from the man 4 page versions, the entire doc/html directory is emptied, this file is then 5 copied into doc/html/index.html, and the remaining files therein are 6 created by the 132html script. 7--> 8<head> 9<title>PCRE2 specification</title> 10</head> 11<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB"> 12<h1>Perl-compatible Regular Expressions (revised API: PCRE2)</h1> 13<p> 14The HTML documentation for PCRE2 consists of a number of pages that are listed 15below in alphabetical order. If you are new to PCRE2, please read the first one 16first. 17</p> 18 19<table> 20<tr><td><a href="pcre2.html">pcre2</a></td> 21 <td> Introductory page</td></tr> 22 23<tr><td><a href="pcre2-config.html">pcre2-config</a></td> 24 <td> Information about the installation configuration</td></tr> 25 26<tr><td><a href="pcre2api.html">pcre2api</a></td> 27 <td> PCRE2's native API</td></tr> 28 29<tr><td><a href="pcre2build.html">pcre2build</a></td> 30 <td> Building PCRE2</td></tr> 31 32<tr><td><a href="pcre2callout.html">pcre2callout</a></td> 33 <td> The <i>callout</i> facility</td></tr> 34 35<tr><td><a href="pcre2compat.html">pcre2compat</a></td> 36 <td> Compability with Perl</td></tr> 37 38<tr><td><a href="pcre2convert.html">pcre2convert</a></td> 39 <td> Experimental foreign pattern conversion functions</td></tr> 40 41<tr><td><a href="pcre2demo.html">pcre2demo</a></td> 42 <td> A demonstration C program that uses the PCRE2 library</td></tr> 43 44<tr><td><a href="pcre2grep.html">pcre2grep</a></td> 45 <td> The <b>pcre2grep</b> command</td></tr> 46 47<tr><td><a href="pcre2jit.html">pcre2jit</a></td> 48 <td> Discussion of the just-in-time optimization support</td></tr> 49 50<tr><td><a href="pcre2limits.html">pcre2limits</a></td> 51 <td> Details of size and other limits</td></tr> 52 53<tr><td><a href="pcre2matching.html">pcre2matching</a></td> 54 <td> Discussion of the two matching algorithms</td></tr> 55 56<tr><td><a href="pcre2partial.html">pcre2partial</a></td> 57 <td> Using PCRE2 for partial matching</td></tr> 58 59<tr><td><a href="pcre2pattern.html">pcre2pattern</a></td> 60 <td> Specification of the regular expressions supported by PCRE2</td></tr> 61 62<tr><td><a href="pcre2perform.html">pcre2perform</a></td> 63 <td> Some comments on performance</td></tr> 64 65<tr><td><a href="pcre2posix.html">pcre2posix</a></td> 66 <td> The POSIX API to the PCRE2 8-bit library</td></tr> 67 68<tr><td><a href="pcre2sample.html">pcre2sample</a></td> 69 <td> Discussion of the pcre2demo program</td></tr> 70 71<tr><td><a href="pcre2serialize.html">pcre2serialize</a></td> 72 <td> Serializing functions for saving precompiled patterns</td></tr> 73 74<tr><td><a href="pcre2syntax.html">pcre2syntax</a></td> 75 <td> Syntax quick-reference summary</td></tr> 76 77<tr><td><a href="pcre2test.html">pcre2test</a></td> 78 <td> The <b>pcre2test</b> command for testing PCRE2</td></tr> 79 80<tr><td><a href="pcre2unicode.html">pcre2unicode</a></td> 81 <td> Discussion of Unicode and UTF-8/UTF-16/UTF-32 support</td></tr> 82</table> 83 84<p> 85There are also individual pages that summarize the interface for each function 86in the library. 87</p> 88 89<table> 90 91<tr><td><a href="pcre2_callout_enumerate.html">pcre2_callout_enumerate</a></td> 92 <td> Enumerate callouts in a compiled pattern</td></tr> 93 94<tr><td><a href="pcre2_code_copy.html">pcre2_code_copy</a></td> 95 <td> Copy a compiled pattern</td></tr> 96 97<tr><td><a href="pcre2_code_copy_with_tables.html">pcre2_code_copy_with_tables</a></td> 98 <td> Copy a compiled pattern and its character tables</td></tr> 99 100<tr><td><a href="pcre2_code_free.html">pcre2_code_free</a></td> 101 <td> Free a compiled pattern</td></tr> 102 103<tr><td><a href="pcre2_compile.html">pcre2_compile</a></td> 104 <td> Compile a regular expression pattern</td></tr> 105 106<tr><td><a href="pcre2_compile_context_copy.html">pcre2_compile_context_copy</a></td> 107 <td> Copy a compile context</td></tr> 108 109<tr><td><a href="pcre2_compile_context_create.html">pcre2_compile_context_create</a></td> 110 <td> Create a compile context</td></tr> 111 112<tr><td><a href="pcre2_compile_context_free.html">pcre2_compile_context_free</a></td> 113 <td> Free a compile context</td></tr> 114 115<tr><td><a href="pcre2_config.html">pcre2_config</a></td> 116 <td> Show build-time configuration options</td></tr> 117 118<tr><td><a href="pcre2_convert_context_copy.html">pcre2_convert_context_copy</a></td> 119 <td> Copy a convert context</td></tr> 120 121<tr><td><a href="pcre2_convert_context_create.html">pcre2_convert_context_create</a></td> 122 <td> Create a convert context</td></tr> 123 124<tr><td><a href="pcre2_convert_context_free.html">pcre2_convert_context_free</a></td> 125 <td> Free a convert context</td></tr> 126 127<tr><td><a href="pcre2_converted_pattern_free.html">pcre2_converted_pattern_free</a></td> 128 <td> Free converted foreign pattern</td></tr> 129 130<tr><td><a href="pcre2_dfa_match.html">pcre2_dfa_match</a></td> 131 <td> Match a compiled pattern to a subject string 132 (DFA algorithm; <i>not</i> Perl compatible)</td></tr> 133 134<tr><td><a href="pcre2_general_context_copy.html">pcre2_general_context_copy</a></td> 135 <td> Copy a general context</td></tr> 136 137<tr><td><a href="pcre2_general_context_create.html">pcre2_general_context_create</a></td> 138 <td> Create a general context</td></tr> 139 140<tr><td><a href="pcre2_general_context_free.html">pcre2_general_context_free</a></td> 141 <td> Free a general context</td></tr> 142 143<tr><td><a href="pcre2_get_error_message.html">pcre2_get_error_message</a></td> 144 <td> Get textual error message for error number</td></tr> 145 146<tr><td><a href="pcre2_get_mark.html">pcre2_get_mark</a></td> 147 <td> Get a (*MARK) name</td></tr> 148 149<tr><td><a href="pcre2_get_match_data_size.html">pcre2_get_match_data_size</a></td> 150 <td> Get the size of a match data block</td></tr> 151 152<tr><td><a href="pcre2_get_ovector_count.html">pcre2_get_ovector_count</a></td> 153 <td> Get the ovector count</td></tr> 154 155<tr><td><a href="pcre2_get_ovector_pointer.html">pcre2_get_ovector_pointer</a></td> 156 <td> Get a pointer to the ovector</td></tr> 157 158<tr><td><a href="pcre2_get_startchar.html">pcre2_get_startchar</a></td> 159 <td> Get the starting character offset</td></tr> 160 161<tr><td><a href="pcre2_jit_compile.html">pcre2_jit_compile</a></td> 162 <td> Process a compiled pattern with the JIT compiler</td></tr> 163 164<tr><td><a href="pcre2_jit_free_unused_memory.html">pcre2_jit_free_unused_memory</a></td> 165 <td> Free unused JIT memory</td></tr> 166 167<tr><td><a href="pcre2_jit_match.html">pcre2_jit_match</a></td> 168 <td> Fast path interface to JIT matching</td></tr> 169 170<tr><td><a href="pcre2_jit_stack_assign.html">pcre2_jit_stack_assign</a></td> 171 <td> Assign stack for JIT matching</td></tr> 172 173<tr><td><a href="pcre2_jit_stack_create.html">pcre2_jit_stack_create</a></td> 174 <td> Create a stack for JIT matching</td></tr> 175 176<tr><td><a href="pcre2_jit_stack_free.html">pcre2_jit_stack_free</a></td> 177 <td> Free a JIT matching stack</td></tr> 178 179<tr><td><a href="pcre2_maketables.html">pcre2_maketables</a></td> 180 <td> Build character tables in current locale</td></tr> 181 182<tr><td><a href="pcre2_maketables_free.html">pcre2_maketables_free</a></td> 183 <td> Free character tables</td></tr> 184 185<tr><td><a href="pcre2_match.html">pcre2_match</a></td> 186 <td> Match a compiled pattern to a subject string 187 (Perl compatible)</td></tr> 188 189<tr><td><a href="pcre2_match_context_copy.html">pcre2_match_context_copy</a></td> 190 <td> Copy a match context</td></tr> 191 192<tr><td><a href="pcre2_match_context_create.html">pcre2_match_context_create</a></td> 193 <td> Create a match context</td></tr> 194 195<tr><td><a href="pcre2_match_context_free.html">pcre2_match_context_free</a></td> 196 <td> Free a match context</td></tr> 197 198<tr><td><a href="pcre2_match_data_create.html">pcre2_match_data_create</a></td> 199 <td> Create a match data block</td></tr> 200 201<tr><td><a href="pcre2_match_data_create_from_pattern.html">pcre2_match_data_create_from_pattern</a></td> 202 <td> Create a match data block getting size from pattern</td></tr> 203 204<tr><td><a href="pcre2_match_data_free.html">pcre2_match_data_free</a></td> 205 <td> Free a match data block</td></tr> 206 207<tr><td><a href="pcre2_pattern_convert.html">pcre2_pattern_convert</a></td> 208 <td> Experimental foreign pattern converter</td></tr> 209 210<tr><td><a href="pcre2_pattern_info.html">pcre2_pattern_info</a></td> 211 <td> Extract information about a pattern</td></tr> 212 213<tr><td><a href="pcre2_serialize_decode.html">pcre2_serialize_decode</a></td> 214 <td> Decode serialized compiled patterns</td></tr> 215 216<tr><td><a href="pcre2_serialize_encode.html">pcre2_serialize_encode</a></td> 217 <td> Serialize compiled patterns for save/restore</td></tr> 218 219<tr><td><a href="pcre2_serialize_free.html">pcre2_serialize_free</a></td> 220 <td> Free serialized compiled patterns</td></tr> 221 222<tr><td><a href="pcre2_serialize_get_number_of_codes.html">pcre2_serialize_get_number_of_codes</a></td> 223 <td> Get number of serialized compiled patterns</td></tr> 224 225<tr><td><a href="pcre2_set_bsr.html">pcre2_set_bsr</a></td> 226 <td> Set \R convention</td></tr> 227 228<tr><td><a href="pcre2_set_callout.html">pcre2_set_callout</a></td> 229 <td> Set up a callout function</td></tr> 230 231<tr><td><a href="pcre2_set_character_tables.html">pcre2_set_character_tables</a></td> 232 <td> Set character tables</td></tr> 233 234<tr><td><a href="pcre2_set_compile_extra_options.html">pcre2_set_compile_extra_options</a></td> 235 <td> Set compile time extra options</td></tr> 236 237<tr><td><a href="pcre2_set_compile_recursion_guard.html">pcre2_set_compile_recursion_guard</a></td> 238 <td> Set up a compile recursion guard function</td></tr> 239 240<tr><td><a href="pcre2_set_depth_limit.html">pcre2_set_depth_limit</a></td> 241 <td> Set the match backtracking depth limit</td></tr> 242 243<tr><td><a href="pcre2_set_glob_escape.html">pcre2_set_glob_escape</a></td> 244 <td> Set glob escape character</td></tr> 245 246<tr><td><a href="pcre2_set_glob_separator.html">pcre2_set_glob_separator</a></td> 247 <td> Set glob separator character</td></tr> 248 249<tr><td><a href="pcre2_set_heap_limit.html">pcre2_set_heap_limit</a></td> 250 <td> Set the match backtracking heap limit</td></tr> 251 252<tr><td><a href="pcre2_set_match_limit.html">pcre2_set_match_limit</a></td> 253 <td> Set the match limit</td></tr> 254 255<tr><td><a href="pcre2_set_max_pattern_length.html">pcre2_set_max_pattern_length</a></td> 256 <td> Set the maximum length of pattern</td></tr> 257 258<tr><td><a href="pcre2_set_newline.html">pcre2_set_newline</a></td> 259 <td> Set the newline convention</td></tr> 260 261<tr><td><a href="pcre2_set_offset_limit.html">pcre2_set_offset_limit</a></td> 262 <td> Set the offset limit</td></tr> 263 264<tr><td><a href="pcre2_set_parens_nest_limit.html">pcre2_set_parens_nest_limit</a></td> 265 <td> Set the parentheses nesting limit</td></tr> 266 267<tr><td><a href="pcre2_set_recursion_limit.html">pcre2_set_recursion_limit</a></td> 268 <td> Obsolete: use pcre2_set_depth_limit</td></tr> 269 270<tr><td><a href="pcre2_set_recursion_memory_management.html">pcre2_set_recursion_memory_management</a></td> 271 <td> Obsolete function that (from 10.30 onwards) does nothing</td></tr> 272 273<tr><td><a href="pcre2_substitute.html">pcre2_substitute</a></td> 274 <td> Match a compiled pattern to a subject string and do 275 substitutions</td></tr> 276 277<tr><td><a href="pcre2_substring_copy_byname.html">pcre2_substring_copy_byname</a></td> 278 <td> Extract named substring into given buffer</td></tr> 279 280<tr><td><a href="pcre2_substring_copy_bynumber.html">pcre2_substring_copy_bynumber</a></td> 281 <td> Extract numbered substring into given buffer</td></tr> 282 283<tr><td><a href="pcre2_substring_free.html">pcre2_substring_free</a></td> 284 <td> Free extracted substring</td></tr> 285 286<tr><td><a href="pcre2_substring_get_byname.html">pcre2_substring_get_byname</a></td> 287 <td> Extract named substring into new memory</td></tr> 288 289<tr><td><a href="pcre2_substring_get_bynumber.html">pcre2_substring_get_bynumber</a></td> 290 <td> Extract numbered substring into new memory</td></tr> 291 292<tr><td><a href="pcre2_substring_length_byname.html">pcre2_substring_length_byname</a></td> 293 <td> Find length of named substring</td></tr> 294 295<tr><td><a href="pcre2_substring_length_bynumber.html">pcre2_substring_length_bynumber</a></td> 296 <td> Find length of numbered substring</td></tr> 297 298<tr><td><a href="pcre2_substring_list_free.html">pcre2_substring_list_free</a></td> 299 <td> Free list of extracted substrings</td></tr> 300 301<tr><td><a href="pcre2_substring_list_get.html">pcre2_substring_list_get</a></td> 302 <td> Extract all substrings into new memory</td></tr> 303 304<tr><td><a href="pcre2_substring_nametable_scan.html">pcre2_substring_nametable_scan</a></td> 305 <td> Find table entries for given string name</td></tr> 306 307<tr><td><a href="pcre2_substring_number_from_name.html">pcre2_substring_number_from_name</a></td> 308 <td> Convert captured string name to number</td></tr> 309</table> 310 311</html> 312 313