| 347 |
.sp |
.sp |
| 348 |
PCRE_CONFIG_MATCH_LIMIT |
PCRE_CONFIG_MATCH_LIMIT |
| 349 |
.sp |
.sp |
| 350 |
The output is an integer that gives the default limit for the number of |
The output is a long integer that gives the default limit for the number of |
| 351 |
internal matching function calls in a \fBpcre_exec()\fP execution. Further |
internal matching function calls in a \fBpcre_exec()\fP execution. Further |
| 352 |
details are given with \fBpcre_exec()\fP below. |
details are given with \fBpcre_exec()\fP below. |
| 353 |
.sp |
.sp |
| 354 |
PCRE_CONFIG_MATCH_LIMIT_RECURSION |
PCRE_CONFIG_MATCH_LIMIT_RECURSION |
| 355 |
.sp |
.sp |
| 356 |
The output is an integer that gives the default limit for the depth of |
The output is a long integer that gives the default limit for the depth of |
| 357 |
recursion when calling the internal matching function in a \fBpcre_exec()\fP |
recursion when calling the internal matching function in a \fBpcre_exec()\fP |
| 358 |
execution. Further details are given with \fBpcre_exec()\fP below. |
execution. Further details are given with \fBpcre_exec()\fP below. |
| 359 |
.sp |
.sp |
| 1371 |
.rs |
.rs |
| 1372 |
.sp |
.sp |
| 1373 |
The subject string is passed to \fBpcre_exec()\fP as a pointer in |
The subject string is passed to \fBpcre_exec()\fP as a pointer in |
| 1374 |
\fIsubject\fP, a length in \fIlength\fP, and a starting byte offset in |
\fIsubject\fP, a length (in bytes) in \fIlength\fP, and a starting byte offset |
| 1375 |
\fIstartoffset\fP. In UTF-8 mode, the byte offset must point to the start of a |
in \fIstartoffset\fP. In UTF-8 mode, the byte offset must point to the start of |
| 1376 |
UTF-8 character. Unlike the pattern string, the subject may contain binary zero |
a UTF-8 character. Unlike the pattern string, the subject may contain binary |
| 1377 |
bytes. When the starting offset is zero, the search for a match starts at the |
zero bytes. When the starting offset is zero, the search for a match starts at |
| 1378 |
beginning of the subject, and this is by far the most common case. |
the beginning of the subject, and this is by far the most common case. |
| 1379 |
.P |
.P |
| 1380 |
A non-zero starting offset is useful when searching for another match in the |
A non-zero starting offset is useful when searching for another match in the |
| 1381 |
same subject by calling \fBpcre_exec()\fP again after a previous success. |
same subject by calling \fBpcre_exec()\fP again after a previous success. |
| 1409 |
a fragment of a pattern that picks out a substring. PCRE supports several other |
a fragment of a pattern that picks out a substring. PCRE supports several other |
| 1410 |
kinds of parenthesized subpattern that do not cause substrings to be captured. |
kinds of parenthesized subpattern that do not cause substrings to be captured. |
| 1411 |
.P |
.P |
| 1412 |
Captured substrings are returned to the caller via a vector of integer offsets |
Captured substrings are returned to the caller via a vector of integers whose |
| 1413 |
whose address is passed in \fIovector\fP. The number of elements in the vector |
address is passed in \fIovector\fP. The number of elements in the vector is |
| 1414 |
is passed in \fIovecsize\fP, which must be a non-negative number. \fBNote\fP: |
passed in \fIovecsize\fP, which must be a non-negative number. \fBNote\fP: this |
| 1415 |
this argument is NOT the size of \fIovector\fP in bytes. |
argument is NOT the size of \fIovector\fP in bytes. |
| 1416 |
.P |
.P |
| 1417 |
The first two-thirds of the vector is used to pass back captured substrings, |
The first two-thirds of the vector is used to pass back captured substrings, |
| 1418 |
each substring using a pair of integers. The remaining third of the vector is |
each substring using a pair of integers. The remaining third of the vector is |
| 1419 |
used as workspace by \fBpcre_exec()\fP while matching capturing subpatterns, |
used as workspace by \fBpcre_exec()\fP while matching capturing subpatterns, |
| 1420 |
and is not available for passing back information. The length passed in |
and is not available for passing back information. The number passed in |
| 1421 |
\fIovecsize\fP should always be a multiple of three. If it is not, it is |
\fIovecsize\fP should always be a multiple of three. If it is not, it is |
| 1422 |
rounded down. |
rounded down. |
| 1423 |
.P |
.P |
| 1424 |
When a match is successful, information about captured substrings is returned |
When a match is successful, information about captured substrings is returned |
| 1425 |
in pairs of integers, starting at the beginning of \fIovector\fP, and |
in pairs of integers, starting at the beginning of \fIovector\fP, and |
| 1426 |
continuing up to two-thirds of its length at the most. The first element of a |
continuing up to two-thirds of its length at the most. The first element of |
| 1427 |
pair is set to the offset of the first character in a substring, and the second |
each pair is set to the byte offset of the first character in a substring, and |
| 1428 |
is set to the offset of the first character after the end of a substring. The |
the second is set to the byte offset of the first character after the end of a |
| 1429 |
first pair, \fIovector[0]\fP and \fIovector[1]\fP, identify the portion of the |
substring. \fBNote\fP: these values are always byte offsets, even in UTF-8 |
| 1430 |
subject string matched by the entire pattern. The next pair is used for the |
mode. They are not character counts. |
| 1431 |
first capturing subpattern, and so on. The value returned by \fBpcre_exec()\fP |
.P |
| 1432 |
is one more than the highest numbered pair that has been set. For example, if |
The first pair of integers, \fIovector[0]\fP and \fIovector[1]\fP, identify the |
| 1433 |
two substrings have been captured, the returned value is 3. If there are no |
portion of the subject string matched by the entire pattern. The next pair is |
| 1434 |
capturing subpatterns, the return value from a successful match is 1, |
used for the first capturing subpattern, and so on. The value returned by |
| 1435 |
indicating that just the first pair of offsets has been set. |
\fBpcre_exec()\fP is one more than the highest numbered pair that has been set. |
| 1436 |
|
For example, if two substrings have been captured, the returned value is 3. If |
| 1437 |
|
there are no capturing subpatterns, the return value from a successful match is |
| 1438 |
|
1, indicating that just the first pair of offsets has been set. |
| 1439 |
.P |
.P |
| 1440 |
If a capturing subpattern is matched repeatedly, it is the last portion of the |
If a capturing subpattern is matched repeatedly, it is the last portion of the |
| 1441 |
string that it matched that is returned. |
string that it matched that is returned. |
| 1442 |
.P |
.P |
| 1443 |
If the vector is too small to hold all the captured substring offsets, it is |
If the vector is too small to hold all the captured substring offsets, it is |
| 1444 |
used as far as possible (up to two-thirds of its length), and the function |
used as far as possible (up to two-thirds of its length), and the function |
| 1445 |
returns a value of zero. In particular, if the substring offsets are not of |
returns a value of zero. If the substring offsets are not of interest, |
| 1446 |
interest, \fBpcre_exec()\fP may be called with \fIovector\fP passed as NULL and |
\fBpcre_exec()\fP may be called with \fIovector\fP passed as NULL and |
| 1447 |
\fIovecsize\fP as zero. However, if the pattern contains back references and |
\fIovecsize\fP as zero. However, if the pattern contains back references and |
| 1448 |
the \fIovector\fP is not big enough to remember the related substrings, PCRE |
the \fIovector\fP is not big enough to remember the related substrings, PCRE |
| 1449 |
has to get additional memory for use during matching. Thus it is usually |
has to get additional memory for use during matching. Thus it is usually |
| 1978 |
.rs |
.rs |
| 1979 |
.sp |
.sp |
| 1980 |
.nf |
.nf |
| 1981 |
Last updated: 12 April 2008 |
Last updated: 28 February 2009 |
| 1982 |
Copyright (c) 1997-2008 University of Cambridge. |
Copyright (c) 1997-2009 University of Cambridge. |
| 1983 |
.fi |
.fi |