blob: 2c7c5fb2e280f9f4669771a80743511113499fed [file] [log] [blame]
Janis Danisevskis53e448c2016-03-31 13:35:25 +01001<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>&nbsp;&nbsp;Introductory page</td></tr>
22
23<tr><td><a href="pcre2-config.html">pcre2-config</a></td>
24 <td>&nbsp;&nbsp;Information about the installation configuration</td></tr>
25
26<tr><td><a href="pcre2api.html">pcre2api</a></td>
27 <td>&nbsp;&nbsp;PCRE2's native API</td></tr>
28
29<tr><td><a href="pcre2build.html">pcre2build</a></td>
30 <td>&nbsp;&nbsp;Building PCRE2</td></tr>
31
32<tr><td><a href="pcre2callout.html">pcre2callout</a></td>
33 <td>&nbsp;&nbsp;The <i>callout</i> facility</td></tr>
34
35<tr><td><a href="pcre2compat.html">pcre2compat</a></td>
36 <td>&nbsp;&nbsp;Compability with Perl</td></tr>
37
Elliott Hughes9bc971b2018-07-27 13:23:14 -070038<tr><td><a href="pcre2convert.html">pcre2convert</a></td>
39 <td>&nbsp;&nbsp;Experimental foreign pattern conversion functions</td></tr>
40
Janis Danisevskis53e448c2016-03-31 13:35:25 +010041<tr><td><a href="pcre2demo.html">pcre2demo</a></td>
42 <td>&nbsp;&nbsp;A demonstration C program that uses the PCRE2 library</td></tr>
43
44<tr><td><a href="pcre2grep.html">pcre2grep</a></td>
45 <td>&nbsp;&nbsp;The <b>pcre2grep</b> command</td></tr>
46
47<tr><td><a href="pcre2jit.html">pcre2jit</a></td>
48 <td>&nbsp;&nbsp;Discussion of the just-in-time optimization support</td></tr>
49
50<tr><td><a href="pcre2limits.html">pcre2limits</a></td>
51 <td>&nbsp;&nbsp;Details of size and other limits</td></tr>
52
53<tr><td><a href="pcre2matching.html">pcre2matching</a></td>
54 <td>&nbsp;&nbsp;Discussion of the two matching algorithms</td></tr>
55
56<tr><td><a href="pcre2partial.html">pcre2partial</a></td>
57 <td>&nbsp;&nbsp;Using PCRE2 for partial matching</td></tr>
58
59<tr><td><a href="pcre2pattern.html">pcre2pattern</a></td>
60 <td>&nbsp;&nbsp;Specification of the regular expressions supported by PCRE2</td></tr>
61
62<tr><td><a href="pcre2perform.html">pcre2perform</a></td>
63 <td>&nbsp;&nbsp;Some comments on performance</td></tr>
64
65<tr><td><a href="pcre2posix.html">pcre2posix</a></td>
66 <td>&nbsp;&nbsp;The POSIX API to the PCRE2 8-bit library</td></tr>
67
68<tr><td><a href="pcre2sample.html">pcre2sample</a></td>
69 <td>&nbsp;&nbsp;Discussion of the pcre2demo program</td></tr>
70
71<tr><td><a href="pcre2serialize.html">pcre2serialize</a></td>
72 <td>&nbsp;&nbsp;Serializing functions for saving precompiled patterns</td></tr>
73
Janis Danisevskis53e448c2016-03-31 13:35:25 +010074<tr><td><a href="pcre2syntax.html">pcre2syntax</a></td>
75 <td>&nbsp;&nbsp;Syntax quick-reference summary</td></tr>
76
77<tr><td><a href="pcre2test.html">pcre2test</a></td>
78 <td>&nbsp;&nbsp;The <b>pcre2test</b> command for testing PCRE2</td></tr>
79
80<tr><td><a href="pcre2unicode.html">pcre2unicode</a></td>
81 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;Enumerate callouts in a compiled pattern</td></tr>
93
Janis Danisevskis8b979b22016-08-15 16:09:16 +010094<tr><td><a href="pcre2_code_copy.html">pcre2_code_copy</a></td>
95 <td>&nbsp;&nbsp;Copy a compiled pattern</td></tr>
96
Elliott Hughes9bc971b2018-07-27 13:23:14 -070097<tr><td><a href="pcre2_code_copy_with_tables.html">pcre2_code_copy_with_tables</a></td>
98 <td>&nbsp;&nbsp;Copy a compiled pattern and its character tables</td></tr>
99
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100100<tr><td><a href="pcre2_code_free.html">pcre2_code_free</a></td>
101 <td>&nbsp;&nbsp;Free a compiled pattern</td></tr>
102
103<tr><td><a href="pcre2_compile.html">pcre2_compile</a></td>
104 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free a compile context</td></tr>
114
115<tr><td><a href="pcre2_config.html">pcre2_config</a></td>
116 <td>&nbsp;&nbsp;Show build-time configuration options</td></tr>
117
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700118<tr><td><a href="pcre2_convert_context_copy.html">pcre2_convert_context_copy</a></td>
119 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free converted foreign pattern</td></tr>
129
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100130<tr><td><a href="pcre2_dfa_match.html">pcre2_dfa_match</a></td>
131 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free a general context</td></tr>
142
143<tr><td><a href="pcre2_get_error_message.html">pcre2_get_error_message</a></td>
Elliott Hughes653c2102019-01-09 15:41:36 -0800144 <td>&nbsp;&nbsp;Get textual error message for error number</td></tr>
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100145
146<tr><td><a href="pcre2_get_mark.html">pcre2_get_mark</a></td>
147 <td>&nbsp;&nbsp;Get a (*MARK) name</td></tr>
148
Elliott Hughes2dbd7d22020-06-03 14:32:37 -0700149<tr><td><a href="pcre2_get_match_data_size.html">pcre2_get_match_data_size</a></td>
150 <td>&nbsp;&nbsp;Get the size of a match data block</td></tr>
151
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100152<tr><td><a href="pcre2_get_ovector_count.html">pcre2_get_ovector_count</a></td>
153 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Get the starting character offset</td></tr>
160
161<tr><td><a href="pcre2_jit_compile.html">pcre2_jit_compile</a></td>
162 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;Free unused JIT memory</td></tr>
166
167<tr><td><a href="pcre2_jit_match.html">pcre2_jit_match</a></td>
168 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free a JIT matching stack</td></tr>
178
179<tr><td><a href="pcre2_maketables.html">pcre2_maketables</a></td>
180 <td>&nbsp;&nbsp;Build character tables in current locale</td></tr>
181
Elliott Hughes2dbd7d22020-06-03 14:32:37 -0700182<tr><td><a href="pcre2_maketables_free.html">pcre2_maketables_free</a></td>
183 <td>&nbsp;&nbsp;Free character tables</td></tr>
184
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100185<tr><td><a href="pcre2_match.html">pcre2_match</a></td>
186 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free a match data block</td></tr>
206
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700207<tr><td><a href="pcre2_pattern_convert.html">pcre2_pattern_convert</a></td>
208 <td>&nbsp;&nbsp;Experimental foreign pattern converter</td></tr>
209
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100210<tr><td><a href="pcre2_pattern_info.html">pcre2_pattern_info</a></td>
211 <td>&nbsp;&nbsp;Extract information about a pattern</td></tr>
212
213<tr><td><a href="pcre2_serialize_decode.html">pcre2_serialize_decode</a></td>
214 <td>&nbsp;&nbsp;Decode serialized compiled patterns</td></tr>
215
216<tr><td><a href="pcre2_serialize_encode.html">pcre2_serialize_encode</a></td>
217 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Set \R convention</td></tr>
227
228<tr><td><a href="pcre2_set_callout.html">pcre2_set_callout</a></td>
229 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;Set character tables</td></tr>
233
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700234<tr><td><a href="pcre2_set_compile_extra_options.html">pcre2_set_compile_extra_options</a></td>
235 <td>&nbsp;&nbsp;Set compile time extra options</td></tr>
236
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100237<tr><td><a href="pcre2_set_compile_recursion_guard.html">pcre2_set_compile_recursion_guard</a></td>
238 <td>&nbsp;&nbsp;Set up a compile recursion guard function</td></tr>
239
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700240<tr><td><a href="pcre2_set_depth_limit.html">pcre2_set_depth_limit</a></td>
241 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Set the match backtracking heap limit</td></tr>
251
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100252<tr><td><a href="pcre2_set_match_limit.html">pcre2_set_match_limit</a></td>
253 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Set the parentheses nesting limit</td></tr>
266
267<tr><td><a href="pcre2_set_recursion_limit.html">pcre2_set_recursion_limit</a></td>
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700268 <td>&nbsp;&nbsp;Obsolete: use pcre2_set_depth_limit</td></tr>
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100269
270<tr><td><a href="pcre2_set_recursion_memory_management.html">pcre2_set_recursion_memory_management</a></td>
Elliott Hughes9bc971b2018-07-27 13:23:14 -0700271 <td>&nbsp;&nbsp;Obsolete function that (from 10.30 onwards) does nothing</td></tr>
Janis Danisevskis53e448c2016-03-31 13:35:25 +0100272
273<tr><td><a href="pcre2_substitute.html">pcre2_substitute</a></td>
274 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Free extracted substring</td></tr>
285
286<tr><td><a href="pcre2_substring_get_byname.html">pcre2_substring_get_byname</a></td>
287 <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;Convert captured string name to number</td></tr>
309</table>
310
311</html>
312