220 |
\eQabc\eE\e$\eQxyz\eE abc$xyz abc$xyz |
\eQabc\eE\e$\eQxyz\eE abc$xyz abc$xyz |
221 |
.sp |
.sp |
222 |
The \eQ...\eE sequence is recognized both inside and outside character classes. |
The \eQ...\eE sequence is recognized both inside and outside character classes. |
223 |
An isolated \eE that is not preceded by \eQ is ignored. If \eQ is not followed |
An isolated \eE that is not preceded by \eQ is ignored. If \eQ is not followed |
224 |
by \eE later in the pattern, the literal interpretation continues to the end of |
by \eE later in the pattern, the literal interpretation continues to the end of |
225 |
the pattern (that is, \eE is assumed at the end). If the isolated \eQ is inside |
the pattern (that is, \eE is assumed at the end). If the isolated \eQ is inside |
226 |
a character class, this causes an error, because the character class is not |
a character class, this causes an error, because the character class is not |
227 |
terminated. |
terminated. |
757 |
preceding character. None of them have codepoints less than 256, so in |
preceding character. None of them have codepoints less than 256, so in |
758 |
non-UTF-8 mode \eX matches any one character. |
non-UTF-8 mode \eX matches any one character. |
759 |
.P |
.P |
760 |
Note that recent versions of Perl have changed \eX to match what Unicode calls |
Note that recent versions of Perl have changed \eX to match what Unicode calls |
761 |
an "extended grapheme cluster", which has a more complicated definition. |
an "extended grapheme cluster", which has a more complicated definition. |
762 |
.P |
.P |
763 |
Matching characters by Unicode property is not fast, because PCRE has to search |
Matching characters by Unicode property is not fast, because PCRE has to search |
1836 |
sense for negative assertions. |
sense for negative assertions. |
1837 |
.P |
.P |
1838 |
For compatibility with Perl, assertion subpatterns may be repeated; though |
For compatibility with Perl, assertion subpatterns may be repeated; though |
1839 |
it makes no sense to assert the same thing several times, the side effect of |
it makes no sense to assert the same thing several times, the side effect of |
1840 |
capturing parentheses may occasionally be useful. In practice, there only three |
capturing parentheses may occasionally be useful. In practice, there only three |
1841 |
cases: |
cases: |
1842 |
.sp |
.sp |
1843 |
(1) If the quantifier is {0}, the assertion is never obeyed during matching. |
(1) If the quantifier is {0}, the assertion is never obeyed during matching. |
1844 |
However, it may contain internal capturing parenthesized groups that are called |
However, it may contain internal capturing parenthesized groups that are called |
1845 |
from elsewhere via the |
from elsewhere via the |
1846 |
.\" HTML <a href="#subpatternsassubroutines"> |
.\" HTML <a href="#subpatternsassubroutines"> |
1847 |
.\" </a> |
.\" </a> |
1848 |
subroutine mechanism. |
subroutine mechanism. |
1849 |
.\" |
.\" |
1850 |
.sp |
.sp |
1851 |
(2) If quantifier is {0,n} where n is greater than zero, it is treated as if it |
(2) If quantifier is {0,n} where n is greater than zero, it is treated as if it |
1852 |
were {0,1}. At run time, the rest of the pattern match is tried with and |
were {0,1}. At run time, the rest of the pattern match is tried with and |
1853 |
without the assertion, the order depending on the greediness of the quantifier. |
without the assertion, the order depending on the greediness of the quantifier. |
1854 |
.sp |
.sp |
1855 |
(3) If the minimum repetition is greater than zero, the quantifier is ignored. |
(3) If the minimum repetition is greater than zero, the quantifier is ignored. |
1856 |
The assertion is obeyed just once when encountered during matching. |
The assertion is obeyed just once when encountered during matching. |
1857 |
. |
. |
1858 |
. |
. |
2605 |
of obtaining this information than putting each alternative in its own |
of obtaining this information than putting each alternative in its own |
2606 |
capturing parentheses. |
capturing parentheses. |
2607 |
.P |
.P |
2608 |
If (*MARK) is encountered in a positive assertion, its name is recorded and |
If (*MARK) is encountered in a positive assertion, its name is recorded and |
2609 |
passed back if it is the last-encountered. This does not happen for negative |
passed back if it is the last-encountered. This does not happen for negative |
2610 |
assetions. |
assetions. |
2611 |
.P |
.P |
2612 |
A name may also be returned after a failed match if the final path through the |
A name may also be returned after a failed match if the final path through the |