chiark / gitweb /
Apply upstream revision 1631 (Closes: #815921)
[pcre3.git] / doc / pcre_study.3
1 .TH PCRE_STUDY 3 " 24 June 2012" "PCRE 8.30"
2 .SH NAME
3 PCRE - Perl-compatible regular expressions
4 .SH SYNOPSIS
5 .rs
6 .sp
7 .B #include <pcre.h>
8 .PP
9 .nf
10 .B pcre_extra *pcre_study(const pcre *\fIcode\fP, int \fIoptions\fP,
11 .B "     const char **\fIerrptr\fP);"
12 .sp
13 .B pcre16_extra *pcre16_study(const pcre16 *\fIcode\fP, int \fIoptions\fP,
14 .B "     const char **\fIerrptr\fP);"
15 .sp
16 .B pcre32_extra *pcre32_study(const pcre32 *\fIcode\fP, int \fIoptions\fP,
17 .B "     const char **\fIerrptr\fP);"
18 .fi
19 .
20 .SH DESCRIPTION
21 .rs
22 .sp
23 This function studies a compiled pattern, to see if additional information can
24 be extracted that might speed up matching. Its arguments are:
25 .sp
26   \fIcode\fP       A compiled regular expression
27   \fIoptions\fP    Options for \fBpcre[16|32]_study()\fP
28   \fIerrptr\fP     Where to put an error message
29 .sp
30 If the function succeeds, it returns a value that can be passed to
31 \fBpcre[16|32]_exec()\fP or \fBpcre[16|32]_dfa_exec()\fP via their \fIextra\fP
32 arguments.
33 .P
34 If the function returns NULL, either it could not find any additional
35 information, or there was an error. You can tell the difference by looking at
36 the error value. It is NULL in first case.
37 .P
38 The only option is PCRE_STUDY_JIT_COMPILE. It requests just-in-time compilation
39 if possible. If PCRE has been compiled without JIT support, this option is
40 ignored. See the
41 .\" HREF
42 \fBpcrejit\fP
43 .\"
44 page for further details.
45 .P
46 There is a complete description of the PCRE native API in the
47 .\" HREF
48 \fBpcreapi\fP
49 .\"
50 page and a description of the POSIX API in the
51 .\" HREF
52 \fBpcreposix\fP
53 .\"
54 page.