1 |
<html>
|
2 |
<head>
|
3 |
<title>pcrelimits specification</title>
|
4 |
</head>
|
5 |
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
|
6 |
<h1>pcrelimits man page</h1>
|
7 |
<p>
|
8 |
Return to the <a href="index.html">PCRE index page</a>.
|
9 |
</p>
|
10 |
<p>
|
11 |
This page is part of the PCRE HTML documentation. It was generated automatically
|
12 |
from the original man page. If there is any nonsense in it, please consult the
|
13 |
man page, in case the conversion went wrong.
|
14 |
<br>
|
15 |
<br><b>
|
16 |
SIZE AND OTHER LIMITATIONS
|
17 |
</b><br>
|
18 |
<P>
|
19 |
There are some size limitations in PCRE but it is hoped that they will never in
|
20 |
practice be relevant.
|
21 |
</P>
|
22 |
<P>
|
23 |
The maximum length of a compiled pattern is approximately 64K data units (bytes
|
24 |
for the 8-bit library, 32-bit units for the 32-bit library, and 32-bit units for
|
25 |
the 32-bit library) if PCRE is compiled with the default internal linkage size
|
26 |
of 2 bytes. If you want to process regular expressions that are truly enormous,
|
27 |
you can compile PCRE with an internal linkage size of 3 or 4 (when building the
|
28 |
16-bit or 32-bit library, 3 is rounded up to 4). See the <b>README</b> file in
|
29 |
the source distribution and the
|
30 |
<a href="pcrebuild.html"><b>pcrebuild</b></a>
|
31 |
documentation for details. In these cases the limit is substantially larger.
|
32 |
However, the speed of execution is slower.
|
33 |
</P>
|
34 |
<P>
|
35 |
All values in repeating quantifiers must be less than 65536.
|
36 |
</P>
|
37 |
<P>
|
38 |
There is no limit to the number of parenthesized subpatterns, but there can be
|
39 |
no more than 65535 capturing subpatterns.
|
40 |
</P>
|
41 |
<P>
|
42 |
There is a limit to the number of forward references to subsequent subpatterns
|
43 |
of around 200,000. Repeated forward references with fixed upper limits, for
|
44 |
example, (?2){0,100} when subpattern number 2 is to the right, are included in
|
45 |
the count. There is no limit to the number of backward references.
|
46 |
</P>
|
47 |
<P>
|
48 |
The maximum length of name for a named subpattern is 32 characters, and the
|
49 |
maximum number of named subpatterns is 10000.
|
50 |
</P>
|
51 |
<P>
|
52 |
The maximum length of a name in a (*MARK), (*PRUNE), (*SKIP), or (*THEN) verb
|
53 |
is 255 for the 8-bit library and 65535 for the 16-bit and 32-bit library.
|
54 |
</P>
|
55 |
<P>
|
56 |
The maximum length of a subject string is the largest positive number that an
|
57 |
integer variable can hold. However, when using the traditional matching
|
58 |
function, PCRE uses recursion to handle subpatterns and indefinite repetition.
|
59 |
This means that the available stack space may limit the size of a subject
|
60 |
string that can be processed by certain patterns. For a discussion of stack
|
61 |
issues, see the
|
62 |
<a href="pcrestack.html"><b>pcrestack</b></a>
|
63 |
documentation.
|
64 |
</P>
|
65 |
<br><b>
|
66 |
AUTHOR
|
67 |
</b><br>
|
68 |
<P>
|
69 |
Philip Hazel
|
70 |
<br>
|
71 |
University Computing Service
|
72 |
<br>
|
73 |
Cambridge CB2 3QH, England.
|
74 |
<br>
|
75 |
</P>
|
76 |
<br><b>
|
77 |
REVISION
|
78 |
</b><br>
|
79 |
<P>
|
80 |
Last updated: 04 May 2012
|
81 |
<br>
|
82 |
Copyright © 1997-2012 University of Cambridge.
|
83 |
<br>
|
84 |
<p>
|
85 |
Return to the <a href="index.html">PCRE index page</a>.
|
86 |
</p>
|