| 1242 |
The unused bits of the \fIoptions\fP argument for \fBpcre_exec()\fP must be |
The unused bits of the \fIoptions\fP argument for \fBpcre_exec()\fP must be |
| 1243 |
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP, |
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP, |
| 1244 |
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NO_START_OPTIMIZE, |
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NO_START_OPTIMIZE, |
| 1245 |
PCRE_NO_UTF8_CHECK and PCRE_PARTIAL. |
PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_SOFT, and PCRE_PARTIAL_HARD. |
| 1246 |
.sp |
.sp |
| 1247 |
PCRE_ANCHORED |
PCRE_ANCHORED |
| 1248 |
.sp |
.sp |
| 1368 |
subject, or a value of \fIstartoffset\fP that does not point to the start of a |
subject, or a value of \fIstartoffset\fP that does not point to the start of a |
| 1369 |
UTF-8 character, is undefined. Your program may crash. |
UTF-8 character, is undefined. Your program may crash. |
| 1370 |
.sp |
.sp |
| 1371 |
PCRE_PARTIAL |
PCRE_PARTIAL_HARD |
| 1372 |
|
PCRE_PARTIAL_SOFT |
| 1373 |
.sp |
.sp |
| 1374 |
This option turns on the partial matching feature. If the subject string fails |
These options turn on the partial matching feature. For backwards |
| 1375 |
to match the pattern, but at some point during the matching process the end of |
compatibility, PCRE_PARTIAL is a synonym for PCRE_PARTIAL_SOFT. A partial match |
| 1376 |
the subject was reached (that is, the subject partially matches the pattern and |
occurs if the end of the subject string is reached successfully, but there are |
| 1377 |
the failure to match occurred only because there were not enough subject |
not enough subject characters to complete the match. If this happens when |
| 1378 |
characters), \fBpcre_exec()\fP returns PCRE_ERROR_PARTIAL instead of |
PCRE_PARTIAL_HARD is set, \fBpcre_exec()\fP immediately returns |
| 1379 |
PCRE_ERROR_NOMATCH. The portion of the string that provided the longest partial |
PCRE_ERROR_PARTIAL. Otherwise, if PCRE_PARTIAL_SOFT is set, matching continues |
| 1380 |
match is set as the first matching string. There is further discussion in the |
by testing any other alternatives. Only if they all fail is PCRE_ERROR_PARTIAL |
| 1381 |
|
returned (instead of PCRE_ERROR_NOMATCH). The portion of the string that |
| 1382 |
|
provided the partial match is set as the first matching string. There is a more |
| 1383 |
|
detailed discussion in the |
| 1384 |
.\" HREF |
.\" HREF |
| 1385 |
\fBpcrepartial\fP |
\fBpcrepartial\fP |
| 1386 |
.\" |
.\" |
| 1866 |
.sp |
.sp |
| 1867 |
The unused bits of the \fIoptions\fP argument for \fBpcre_dfa_exec()\fP must be |
The unused bits of the \fIoptions\fP argument for \fBpcre_dfa_exec()\fP must be |
| 1868 |
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP, |
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP, |
| 1869 |
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL, |
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_HARD, |
| 1870 |
PCRE_DFA_SHORTEST, and PCRE_DFA_RESTART. All but the last three of these are |
PCRE_PARTIAL_SOFT, PCRE_DFA_SHORTEST, and PCRE_DFA_RESTART. All but the last |
| 1871 |
exactly the same as for \fBpcre_exec()\fP, so their description is not repeated |
four of these are exactly the same as for \fBpcre_exec()\fP, so their |
| 1872 |
here. |
description is not repeated here. |
| 1873 |
.sp |
.sp |
| 1874 |
PCRE_PARTIAL |
PCRE_PARTIAL_HARD |
| 1875 |
.sp |
PCRE_PARTIAL_SOFT |
| 1876 |
This has the same general effect as it does for \fBpcre_exec()\fP, but the |
.sp |
| 1877 |
details are slightly different. When PCRE_PARTIAL is set for |
These have the same general effect as they do for \fBpcre_exec()\fP, but the |
| 1878 |
\fBpcre_dfa_exec()\fP, the return code PCRE_ERROR_NOMATCH is converted into |
details are slightly different. When PCRE_PARTIAL_HARD is set for |
| 1879 |
PCRE_ERROR_PARTIAL if the end of the subject is reached, there have been no |
\fBpcre_dfa_exec()\fP, it returns PCRE_ERROR_PARTIAL if the end of the subject |
| 1880 |
complete matches, but there is still at least one matching possibility. The |
is reached and there is still at least one matching possibility that requires |
| 1881 |
portion of the string that provided the longest partial match is set as the |
additional characters. This happens even if some complete matches have also |
| 1882 |
first matching string. |
been found. When PCRE_PARTIAL_SOFT is set, the return code PCRE_ERROR_NOMATCH |
| 1883 |
|
is converted into PCRE_ERROR_PARTIAL if the end of the subject is reached, |
| 1884 |
|
there have been no complete matches, but there is still at least one matching |
| 1885 |
|
possibility. The portion of the string that provided the longest partial match |
| 1886 |
|
is set as the first matching string in both cases. |
| 1887 |
.sp |
.sp |
| 1888 |
PCRE_DFA_SHORTEST |
PCRE_DFA_SHORTEST |
| 1889 |
.sp |
.sp |
| 1894 |
.sp |
.sp |
| 1895 |
PCRE_DFA_RESTART |
PCRE_DFA_RESTART |
| 1896 |
.sp |
.sp |
| 1897 |
When \fBpcre_dfa_exec()\fP is called with the PCRE_PARTIAL option, and returns |
When \fBpcre_dfa_exec()\fP returns a partial match, it is possible to call it |
| 1898 |
a partial match, it is possible to call it again, with additional subject |
again, with additional subject characters, and have it continue with the same |
| 1899 |
characters, and have it continue with the same match. The PCRE_DFA_RESTART |
match. The PCRE_DFA_RESTART option requests this action; when it is set, the |
| 1900 |
option requests this action; when it is set, the \fIworkspace\fP and |
\fIworkspace\fP and \fIwscount\fP options must reference the same vector as |
| 1901 |
\fIwscount\fP options must reference the same vector as before because data |
before because data about the match so far is left in them after a partial |
| 1902 |
about the match so far is left in them after a partial match. There is more |
match. There is more discussion of this facility in the |
|
discussion of this facility in the |
|
| 1903 |
.\" HREF |
.\" HREF |
| 1904 |
\fBpcrepartial\fP |
\fBpcrepartial\fP |
| 1905 |
.\" |
.\" |
| 2003 |
.rs |
.rs |
| 2004 |
.sp |
.sp |
| 2005 |
.nf |
.nf |
| 2006 |
Last updated: 26 August 2009 |
Last updated: 29 August 2009 |
| 2007 |
Copyright (c) 1997-2009 University of Cambridge. |
Copyright (c) 1997-2009 University of Cambridge. |
| 2008 |
.fi |
.fi |