1 |
.TH PCRELIMITS 3
|
2 |
.SH NAME
|
3 |
PCRE - Perl-compatible regular expressions
|
4 |
.SH "SIZE AND OTHER LIMITATIONS"
|
5 |
.rs
|
6 |
.sp
|
7 |
There are some size limitations in PCRE but it is hoped that they will never in
|
8 |
practice be relevant.
|
9 |
.P
|
10 |
The maximum length of a compiled pattern is 65539 (sic) bytes if PCRE is
|
11 |
compiled with the default internal linkage size of 2. If you want to process
|
12 |
regular expressions that are truly enormous, you can compile PCRE with an
|
13 |
internal linkage size of 3 or 4 (see the \fBREADME\fP file in the source
|
14 |
distribution and the
|
15 |
.\" HREF
|
16 |
\fBpcrebuild\fP
|
17 |
.\"
|
18 |
documentation for details). In these cases the limit is substantially larger.
|
19 |
However, the speed of execution is slower.
|
20 |
.P
|
21 |
All values in repeating quantifiers must be less than 65536.
|
22 |
.P
|
23 |
There is no limit to the number of parenthesized subpatterns, but there can be
|
24 |
no more than 65535 capturing subpatterns.
|
25 |
.P
|
26 |
There is a limit to the number of forward references to subsequent subpatterns
|
27 |
of around 200,000. Repeated forward references with fixed upper limits, for
|
28 |
example, (?2){0,100} when subpattern number 2 is to the right, are included in
|
29 |
the count. There is no limit to the number of backward references.
|
30 |
.P
|
31 |
The maximum length of name for a named subpattern is 32 characters, and the
|
32 |
maximum number of named subpatterns is 10000.
|
33 |
.P
|
34 |
The maximum length of a subject string is the largest positive number that an
|
35 |
integer variable can hold. However, when using the traditional matching
|
36 |
function, PCRE uses recursion to handle subpatterns and indefinite repetition.
|
37 |
This means that the available stack space may limit the size of a subject
|
38 |
string that can be processed by certain patterns. For a discussion of stack
|
39 |
issues, see the
|
40 |
.\" HREF
|
41 |
\fBpcrestack\fP
|
42 |
.\"
|
43 |
documentation.
|
44 |
.
|
45 |
.
|
46 |
.SH AUTHOR
|
47 |
.rs
|
48 |
.sp
|
49 |
.nf
|
50 |
Philip Hazel
|
51 |
University Computing Service
|
52 |
Cambridge CB2 3QH, England.
|
53 |
.fi
|
54 |
.
|
55 |
.
|
56 |
.SH REVISION
|
57 |
.rs
|
58 |
.sp
|
59 |
.nf
|
60 |
Last updated: 30 November 2011
|
61 |
Copyright (c) 1997-2011 University of Cambridge.
|
62 |
.fi
|