/[pcre]/code/trunk/doc/pcreapi.3
ViewVC logotype

Diff of /code/trunk/doc/pcreapi.3

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 367 by ph10, Mon Apr 28 15:10:02 2008 UTC revision 368 by ph10, Sun Aug 24 16:25:20 2008 UTC
# Line 1371  documentation. Line 1371  documentation.
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.
# Line 1409  pattern. Following the usage in Jeffrey Line 1409  pattern. Following the usage in Jeffrey
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
# Line 1975  Cambridge CB2 3QH, England. Line 1978  Cambridge CB2 3QH, England.
1978  .rs  .rs
1979  .sp  .sp
1980  .nf  .nf
1981  Last updated: 12 April 2008  Last updated: 24 August 2008
1982  Copyright (c) 1997-2008 University of Cambridge.  Copyright (c) 1997-2008 University of Cambridge.
1983  .fi  .fi

Legend:
Removed from v.367  
changed lines
  Added in v.368

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12