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 |