| 14 |
<br> |
<br> |
| 15 |
<ul> |
<ul> |
| 16 |
<li><a name="TOC1" href="#SEC1">PCRE REGULAR EXPRESSION DETAILS</a> |
<li><a name="TOC1" href="#SEC1">PCRE REGULAR EXPRESSION DETAILS</a> |
| 17 |
<li><a name="TOC2" href="#SEC2">CHARACTERS AND METACHARACTERS</a> |
<li><a name="TOC2" href="#SEC2">NEWLINE CONVENTIONS</a> |
| 18 |
<li><a name="TOC3" href="#SEC3">BACKSLASH</a> |
<li><a name="TOC3" href="#SEC3">CHARACTERS AND METACHARACTERS</a> |
| 19 |
<li><a name="TOC4" href="#SEC4">CIRCUMFLEX AND DOLLAR</a> |
<li><a name="TOC4" href="#SEC4">BACKSLASH</a> |
| 20 |
<li><a name="TOC5" href="#SEC5">FULL STOP (PERIOD, DOT)</a> |
<li><a name="TOC5" href="#SEC5">CIRCUMFLEX AND DOLLAR</a> |
| 21 |
<li><a name="TOC6" href="#SEC6">MATCHING A SINGLE BYTE</a> |
<li><a name="TOC6" href="#SEC6">FULL STOP (PERIOD, DOT)</a> |
| 22 |
<li><a name="TOC7" href="#SEC7">SQUARE BRACKETS AND CHARACTER CLASSES</a> |
<li><a name="TOC7" href="#SEC7">MATCHING A SINGLE BYTE</a> |
| 23 |
<li><a name="TOC8" href="#SEC8">POSIX CHARACTER CLASSES</a> |
<li><a name="TOC8" href="#SEC8">SQUARE BRACKETS AND CHARACTER CLASSES</a> |
| 24 |
<li><a name="TOC9" href="#SEC9">VERTICAL BAR</a> |
<li><a name="TOC9" href="#SEC9">POSIX CHARACTER CLASSES</a> |
| 25 |
<li><a name="TOC10" href="#SEC10">INTERNAL OPTION SETTING</a> |
<li><a name="TOC10" href="#SEC10">VERTICAL BAR</a> |
| 26 |
<li><a name="TOC11" href="#SEC11">SUBPATTERNS</a> |
<li><a name="TOC11" href="#SEC11">INTERNAL OPTION SETTING</a> |
| 27 |
<li><a name="TOC12" href="#SEC12">DUPLICATE SUBPATTERN NUMBERS</a> |
<li><a name="TOC12" href="#SEC12">SUBPATTERNS</a> |
| 28 |
<li><a name="TOC13" href="#SEC13">NAMED SUBPATTERNS</a> |
<li><a name="TOC13" href="#SEC13">DUPLICATE SUBPATTERN NUMBERS</a> |
| 29 |
<li><a name="TOC14" href="#SEC14">REPETITION</a> |
<li><a name="TOC14" href="#SEC14">NAMED SUBPATTERNS</a> |
| 30 |
<li><a name="TOC15" href="#SEC15">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a> |
<li><a name="TOC15" href="#SEC15">REPETITION</a> |
| 31 |
<li><a name="TOC16" href="#SEC16">BACK REFERENCES</a> |
<li><a name="TOC16" href="#SEC16">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a> |
| 32 |
<li><a name="TOC17" href="#SEC17">ASSERTIONS</a> |
<li><a name="TOC17" href="#SEC17">BACK REFERENCES</a> |
| 33 |
<li><a name="TOC18" href="#SEC18">CONDITIONAL SUBPATTERNS</a> |
<li><a name="TOC18" href="#SEC18">ASSERTIONS</a> |
| 34 |
<li><a name="TOC19" href="#SEC19">COMMENTS</a> |
<li><a name="TOC19" href="#SEC19">CONDITIONAL SUBPATTERNS</a> |
| 35 |
<li><a name="TOC20" href="#SEC20">RECURSIVE PATTERNS</a> |
<li><a name="TOC20" href="#SEC20">COMMENTS</a> |
| 36 |
<li><a name="TOC21" href="#SEC21">SUBPATTERNS AS SUBROUTINES</a> |
<li><a name="TOC21" href="#SEC21">RECURSIVE PATTERNS</a> |
| 37 |
<li><a name="TOC22" href="#SEC22">CALLOUTS</a> |
<li><a name="TOC22" href="#SEC22">SUBPATTERNS AS SUBROUTINES</a> |
| 38 |
<li><a name="TOC23" href="#SEC23">BACTRACKING CONTROL</a> |
<li><a name="TOC23" href="#SEC23">CALLOUTS</a> |
| 39 |
<li><a name="TOC24" href="#SEC24">SEE ALSO</a> |
<li><a name="TOC24" href="#SEC24">BACTRACKING CONTROL</a> |
| 40 |
<li><a name="TOC25" href="#SEC25">AUTHOR</a> |
<li><a name="TOC25" href="#SEC25">SEE ALSO</a> |
| 41 |
<li><a name="TOC26" href="#SEC26">REVISION</a> |
<li><a name="TOC26" href="#SEC26">AUTHOR</a> |
| 42 |
|
<li><a name="TOC27" href="#SEC27">REVISION</a> |
| 43 |
</ul> |
</ul> |
| 44 |
<br><a name="SEC1" href="#TOC1">PCRE REGULAR EXPRESSION DETAILS</a><br> |
<br><a name="SEC1" href="#TOC1">PCRE REGULAR EXPRESSION DETAILS</a><br> |
| 45 |
<P> |
<P> |
| 75 |
<a href="pcrematching.html"><b>pcrematching</b></a> |
<a href="pcrematching.html"><b>pcrematching</b></a> |
| 76 |
page. |
page. |
| 77 |
</P> |
</P> |
| 78 |
<br><a name="SEC2" href="#TOC1">CHARACTERS AND METACHARACTERS</a><br> |
<br><a name="SEC2" href="#TOC1">NEWLINE CONVENTIONS</a><br> |
| 79 |
|
<P> |
| 80 |
|
PCRE supports five different conventions for indicating line breaks in |
| 81 |
|
strings: a single CR (carriage return) character, a single LF (linefeed) |
| 82 |
|
character, the two-character sequence CRLF, any of the three preceding, or any |
| 83 |
|
Unicode newline sequence. The |
| 84 |
|
<a href="pcreapi.html"><b>pcreapi</b></a> |
| 85 |
|
page has |
| 86 |
|
<a href="pcreapi.html#newlines">further discussion</a> |
| 87 |
|
about newlines, and shows how to set the newline convention in the |
| 88 |
|
<i>options</i> arguments for the compiling and matching functions. |
| 89 |
|
</P> |
| 90 |
|
<P> |
| 91 |
|
It is also possible to specify a newline convention by starting a pattern |
| 92 |
|
string with one of the following five sequences: |
| 93 |
|
<pre> |
| 94 |
|
(*CR) carriage return |
| 95 |
|
(*LF) linefeed |
| 96 |
|
(*CRLF) carriage return, followed by linefeed |
| 97 |
|
(*ANYCRLF) any of the three above |
| 98 |
|
(*ANY) all Unicode newline sequences |
| 99 |
|
</pre> |
| 100 |
|
These override the default and the options given to <b>pcre_compile()</b>. For |
| 101 |
|
example, on a Unix system where LF is the default newline sequence, the pattern |
| 102 |
|
<pre> |
| 103 |
|
(*CR)a.b |
| 104 |
|
</pre> |
| 105 |
|
changes the convention to CR. That pattern matches "a\nb" because LF is no |
| 106 |
|
longer a newline. Note that these special settings, which are not |
| 107 |
|
Perl-compatible, are recognized only at the very start of a pattern, and that |
| 108 |
|
they must be in upper case. |
| 109 |
|
</P> |
| 110 |
|
<br><a name="SEC3" href="#TOC1">CHARACTERS AND METACHARACTERS</a><br> |
| 111 |
<P> |
<P> |
| 112 |
A regular expression is a pattern that is matched against a subject string from |
A regular expression is a pattern that is matched against a subject string from |
| 113 |
left to right. Most characters stand for themselves in a pattern, and match the |
left to right. Most characters stand for themselves in a pattern, and match the |
| 164 |
</pre> |
</pre> |
| 165 |
The following sections describe the use of each of the metacharacters. |
The following sections describe the use of each of the metacharacters. |
| 166 |
</P> |
</P> |
| 167 |
<br><a name="SEC3" href="#TOC1">BACKSLASH</a><br> |
<br><a name="SEC4" href="#TOC1">BACKSLASH</a><br> |
| 168 |
<P> |
<P> |
| 169 |
The backslash character has several uses. Firstly, if it is followed by a |
The backslash character has several uses. Firstly, if it is followed by a |
| 170 |
non-alphanumeric character, it takes away any special meaning that character |
non-alphanumeric character, it takes away any special meaning that character |
| 213 |
\cx "control-x", where x is any character |
\cx "control-x", where x is any character |
| 214 |
\e escape (hex 1B) |
\e escape (hex 1B) |
| 215 |
\f formfeed (hex 0C) |
\f formfeed (hex 0C) |
| 216 |
\n newline (hex 0A) |
\n linefeed (hex 0A) |
| 217 |
\r carriage return (hex 0D) |
\r carriage return (hex 0D) |
| 218 |
\t tab (hex 09) |
\t tab (hex 09) |
| 219 |
\ddd character with octal code ddd, or backreference |
\ddd character with octal code ddd, or backreference |
| 708 |
to the starting match position, and the "anchored" flag is set in the compiled |
to the starting match position, and the "anchored" flag is set in the compiled |
| 709 |
regular expression. |
regular expression. |
| 710 |
</P> |
</P> |
| 711 |
<br><a name="SEC4" href="#TOC1">CIRCUMFLEX AND DOLLAR</a><br> |
<br><a name="SEC5" href="#TOC1">CIRCUMFLEX AND DOLLAR</a><br> |
| 712 |
<P> |
<P> |
| 713 |
Outside a character class, in the default matching mode, the circumflex |
Outside a character class, in the default matching mode, the circumflex |
| 714 |
character is an assertion that is true only if the current matching point is |
character is an assertion that is true only if the current matching point is |
| 762 |
end of the subject in both modes, and if all branches of a pattern start with |
end of the subject in both modes, and if all branches of a pattern start with |
| 763 |
\A it is always anchored, whether or not PCRE_MULTILINE is set. |
\A it is always anchored, whether or not PCRE_MULTILINE is set. |
| 764 |
</P> |
</P> |
| 765 |
<br><a name="SEC5" href="#TOC1">FULL STOP (PERIOD, DOT)</a><br> |
<br><a name="SEC6" href="#TOC1">FULL STOP (PERIOD, DOT)</a><br> |
| 766 |
<P> |
<P> |
| 767 |
Outside a character class, a dot in the pattern matches any one character in |
Outside a character class, a dot in the pattern matches any one character in |
| 768 |
the subject string except (by default) a character that signifies the end of a |
the subject string except (by default) a character that signifies the end of a |
| 787 |
dollar, the only relationship being that they both involve newlines. Dot has no |
dollar, the only relationship being that they both involve newlines. Dot has no |
| 788 |
special meaning in a character class. |
special meaning in a character class. |
| 789 |
</P> |
</P> |
| 790 |
<br><a name="SEC6" href="#TOC1">MATCHING A SINGLE BYTE</a><br> |
<br><a name="SEC7" href="#TOC1">MATCHING A SINGLE BYTE</a><br> |
| 791 |
<P> |
<P> |
| 792 |
Outside a character class, the escape sequence \C matches any one byte, both |
Outside a character class, the escape sequence \C matches any one byte, both |
| 793 |
in and out of UTF-8 mode. Unlike a dot, it always matches any line-ending |
in and out of UTF-8 mode. Unlike a dot, it always matches any line-ending |
| 802 |
because in UTF-8 mode this would make it impossible to calculate the length of |
because in UTF-8 mode this would make it impossible to calculate the length of |
| 803 |
the lookbehind. |
the lookbehind. |
| 804 |
<a name="characterclass"></a></P> |
<a name="characterclass"></a></P> |
| 805 |
<br><a name="SEC7" href="#TOC1">SQUARE BRACKETS AND CHARACTER CLASSES</a><br> |
<br><a name="SEC8" href="#TOC1">SQUARE BRACKETS AND CHARACTER CLASSES</a><br> |
| 806 |
<P> |
<P> |
| 807 |
An opening square bracket introduces a character class, terminated by a closing |
An opening square bracket introduces a character class, terminated by a closing |
| 808 |
square bracket. A closing square bracket on its own is not special. If a |
square bracket. A closing square bracket on its own is not special. If a |
| 897 |
closing square bracket. However, escaping other non-alphanumeric characters |
closing square bracket. However, escaping other non-alphanumeric characters |
| 898 |
does no harm. |
does no harm. |
| 899 |
</P> |
</P> |
| 900 |
<br><a name="SEC8" href="#TOC1">POSIX CHARACTER CLASSES</a><br> |
<br><a name="SEC9" href="#TOC1">POSIX CHARACTER CLASSES</a><br> |
| 901 |
<P> |
<P> |
| 902 |
Perl supports the POSIX notation for character classes. This uses names |
Perl supports the POSIX notation for character classes. This uses names |
| 903 |
enclosed by [: and :] within the enclosing square brackets. PCRE also supports |
enclosed by [: and :] within the enclosing square brackets. PCRE also supports |
| 943 |
In UTF-8 mode, characters with values greater than 128 do not match any of |
In UTF-8 mode, characters with values greater than 128 do not match any of |
| 944 |
the POSIX character classes. |
the POSIX character classes. |
| 945 |
</P> |
</P> |
| 946 |
<br><a name="SEC9" href="#TOC1">VERTICAL BAR</a><br> |
<br><a name="SEC10" href="#TOC1">VERTICAL BAR</a><br> |
| 947 |
<P> |
<P> |
| 948 |
Vertical bar characters are used to separate alternative patterns. For example, |
Vertical bar characters are used to separate alternative patterns. For example, |
| 949 |
the pattern |
the pattern |
| 958 |
"succeeds" means matching the rest of the main pattern as well as the |
"succeeds" means matching the rest of the main pattern as well as the |
| 959 |
alternative in the subpattern. |
alternative in the subpattern. |
| 960 |
</P> |
</P> |
| 961 |
<br><a name="SEC10" href="#TOC1">INTERNAL OPTION SETTING</a><br> |
<br><a name="SEC11" href="#TOC1">INTERNAL OPTION SETTING</a><br> |
| 962 |
<P> |
<P> |
| 963 |
The settings of the PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, and |
The settings of the PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, and |
| 964 |
PCRE_EXTENDED options can be changed from within the pattern by a sequence of |
PCRE_EXTENDED options can be changed from within the pattern by a sequence of |
| 1006 |
changed in the same way as the Perl-compatible options by using the characters |
changed in the same way as the Perl-compatible options by using the characters |
| 1007 |
J, U and X respectively. |
J, U and X respectively. |
| 1008 |
<a name="subpattern"></a></P> |
<a name="subpattern"></a></P> |
| 1009 |
<br><a name="SEC11" href="#TOC1">SUBPATTERNS</a><br> |
<br><a name="SEC12" href="#TOC1">SUBPATTERNS</a><br> |
| 1010 |
<P> |
<P> |
| 1011 |
Subpatterns are delimited by parentheses (round brackets), which can be nested. |
Subpatterns are delimited by parentheses (round brackets), which can be nested. |
| 1012 |
Turning part of a pattern into a subpattern does two things: |
Turning part of a pattern into a subpattern does two things: |
| 1060 |
is reached, an option setting in one branch does affect subsequent branches, so |
is reached, an option setting in one branch does affect subsequent branches, so |
| 1061 |
the above patterns match "SUNDAY" as well as "Saturday". |
the above patterns match "SUNDAY" as well as "Saturday". |
| 1062 |
</P> |
</P> |
| 1063 |
<br><a name="SEC12" href="#TOC1">DUPLICATE SUBPATTERN NUMBERS</a><br> |
<br><a name="SEC13" href="#TOC1">DUPLICATE SUBPATTERN NUMBERS</a><br> |
| 1064 |
<P> |
<P> |
| 1065 |
Perl 5.10 introduced a feature whereby each alternative in a subpattern uses |
Perl 5.10 introduced a feature whereby each alternative in a subpattern uses |
| 1066 |
the same numbers for its capturing parentheses. Such a subpattern starts with |
the same numbers for its capturing parentheses. Such a subpattern starts with |
| 1091 |
An alternative approach to using this "branch reset" feature is to use |
An alternative approach to using this "branch reset" feature is to use |
| 1092 |
duplicate named subpatterns, as described in the next section. |
duplicate named subpatterns, as described in the next section. |
| 1093 |
</P> |
</P> |
| 1094 |
<br><a name="SEC13" href="#TOC1">NAMED SUBPATTERNS</a><br> |
<br><a name="SEC14" href="#TOC1">NAMED SUBPATTERNS</a><br> |
| 1095 |
<P> |
<P> |
| 1096 |
Identifying capturing parentheses by number is simple, but it can be very hard |
Identifying capturing parentheses by number is simple, but it can be very hard |
| 1097 |
to keep track of the numbers in complicated regular expressions. Furthermore, |
to keep track of the numbers in complicated regular expressions. Furthermore, |
| 1146 |
<a href="pcreapi.html"><b>pcreapi</b></a> |
<a href="pcreapi.html"><b>pcreapi</b></a> |
| 1147 |
documentation. |
documentation. |
| 1148 |
</P> |
</P> |
| 1149 |
<br><a name="SEC14" href="#TOC1">REPETITION</a><br> |
<br><a name="SEC15" href="#TOC1">REPETITION</a><br> |
| 1150 |
<P> |
<P> |
| 1151 |
Repetition is specified by quantifiers, which can follow any of the following |
Repetition is specified by quantifiers, which can follow any of the following |
| 1152 |
items: |
items: |
| 1297 |
</pre> |
</pre> |
| 1298 |
matches "aba" the value of the second captured substring is "b". |
matches "aba" the value of the second captured substring is "b". |
| 1299 |
<a name="atomicgroup"></a></P> |
<a name="atomicgroup"></a></P> |
| 1300 |
<br><a name="SEC15" href="#TOC1">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a><br> |
<br><a name="SEC16" href="#TOC1">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a><br> |
| 1301 |
<P> |
<P> |
| 1302 |
With both maximizing ("greedy") and minimizing ("ungreedy" or "lazy") |
With both maximizing ("greedy") and minimizing ("ungreedy" or "lazy") |
| 1303 |
repetition, failure of what follows normally causes the repeated item to be |
repetition, failure of what follows normally causes the repeated item to be |
| 1401 |
</pre> |
</pre> |
| 1402 |
sequences of non-digits cannot be broken, and failure happens quickly. |
sequences of non-digits cannot be broken, and failure happens quickly. |
| 1403 |
<a name="backreferences"></a></P> |
<a name="backreferences"></a></P> |
| 1404 |
<br><a name="SEC16" href="#TOC1">BACK REFERENCES</a><br> |
<br><a name="SEC17" href="#TOC1">BACK REFERENCES</a><br> |
| 1405 |
<P> |
<P> |
| 1406 |
Outside a character class, a backslash followed by a digit greater than 0 (and |
Outside a character class, a backslash followed by a digit greater than 0 (and |
| 1407 |
possibly further digits) is a back reference to a capturing subpattern earlier |
possibly further digits) is a back reference to a capturing subpattern earlier |
| 1515 |
done using alternation, as in the example above, or by a quantifier with a |
done using alternation, as in the example above, or by a quantifier with a |
| 1516 |
minimum of zero. |
minimum of zero. |
| 1517 |
<a name="bigassertions"></a></P> |
<a name="bigassertions"></a></P> |
| 1518 |
<br><a name="SEC17" href="#TOC1">ASSERTIONS</a><br> |
<br><a name="SEC18" href="#TOC1">ASSERTIONS</a><br> |
| 1519 |
<P> |
<P> |
| 1520 |
An assertion is a test on the characters following or preceding the current |
An assertion is a test on the characters following or preceding the current |
| 1521 |
matching point that does not actually consume any characters. The simple |
matching point that does not actually consume any characters. The simple |
| 1675 |
is another pattern that matches "foo" preceded by three digits and any three |
is another pattern that matches "foo" preceded by three digits and any three |
| 1676 |
characters that are not "999". |
characters that are not "999". |
| 1677 |
<a name="conditions"></a></P> |
<a name="conditions"></a></P> |
| 1678 |
<br><a name="SEC18" href="#TOC1">CONDITIONAL SUBPATTERNS</a><br> |
<br><a name="SEC19" href="#TOC1">CONDITIONAL SUBPATTERNS</a><br> |
| 1679 |
<P> |
<P> |
| 1680 |
It is possible to cause the matching process to obey a subpattern |
It is possible to cause the matching process to obey a subpattern |
| 1681 |
conditionally or to choose between two alternative subpatterns, depending on |
conditionally or to choose between two alternative subpatterns, depending on |
| 1813 |
against the second. This pattern matches strings in one of the two forms |
against the second. This pattern matches strings in one of the two forms |
| 1814 |
dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits. |
dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits. |
| 1815 |
<a name="comments"></a></P> |
<a name="comments"></a></P> |
| 1816 |
<br><a name="SEC19" href="#TOC1">COMMENTS</a><br> |
<br><a name="SEC20" href="#TOC1">COMMENTS</a><br> |
| 1817 |
<P> |
<P> |
| 1818 |
The sequence (?# marks the start of a comment that continues up to the next |
The sequence (?# marks the start of a comment that continues up to the next |
| 1819 |
closing parenthesis. Nested parentheses are not permitted. The characters |
closing parenthesis. Nested parentheses are not permitted. The characters |
| 1824 |
character class introduces a comment that continues to immediately after the |
character class introduces a comment that continues to immediately after the |
| 1825 |
next newline in the pattern. |
next newline in the pattern. |
| 1826 |
<a name="recursion"></a></P> |
<a name="recursion"></a></P> |
| 1827 |
<br><a name="SEC20" href="#TOC1">RECURSIVE PATTERNS</a><br> |
<br><a name="SEC21" href="#TOC1">RECURSIVE PATTERNS</a><br> |
| 1828 |
<P> |
<P> |
| 1829 |
Consider the problem of matching a string in parentheses, allowing for |
Consider the problem of matching a string in parentheses, allowing for |
| 1830 |
unlimited nested parentheses. Without the use of recursion, the best that can |
unlimited nested parentheses. Without the use of recursion, the best that can |
| 1954 |
different alternatives for the recursive and non-recursive cases. The (?R) item |
different alternatives for the recursive and non-recursive cases. The (?R) item |
| 1955 |
is the actual recursive call. |
is the actual recursive call. |
| 1956 |
<a name="subpatternsassubroutines"></a></P> |
<a name="subpatternsassubroutines"></a></P> |
| 1957 |
<br><a name="SEC21" href="#TOC1">SUBPATTERNS AS SUBROUTINES</a><br> |
<br><a name="SEC22" href="#TOC1">SUBPATTERNS AS SUBROUTINES</a><br> |
| 1958 |
<P> |
<P> |
| 1959 |
If the syntax for a recursive subpattern reference (either by number or by |
If the syntax for a recursive subpattern reference (either by number or by |
| 1960 |
name) is used outside the parentheses to which it refers, it operates like a |
name) is used outside the parentheses to which it refers, it operates like a |
| 1994 |
It matches "abcabc". It does not match "abcABC" because the change of |
It matches "abcabc". It does not match "abcABC" because the change of |
| 1995 |
processing option does not affect the called subpattern. |
processing option does not affect the called subpattern. |
| 1996 |
</P> |
</P> |
| 1997 |
<br><a name="SEC22" href="#TOC1">CALLOUTS</a><br> |
<br><a name="SEC23" href="#TOC1">CALLOUTS</a><br> |
| 1998 |
<P> |
<P> |
| 1999 |
Perl has a feature whereby using the sequence (?{...}) causes arbitrary Perl |
Perl has a feature whereby using the sequence (?{...}) causes arbitrary Perl |
| 2000 |
code to be obeyed in the middle of matching a regular expression. This makes it |
code to be obeyed in the middle of matching a regular expression. This makes it |
| 2029 |
<a href="pcrecallout.html"><b>pcrecallout</b></a> |
<a href="pcrecallout.html"><b>pcrecallout</b></a> |
| 2030 |
documentation. |
documentation. |
| 2031 |
</P> |
</P> |
| 2032 |
<br><a name="SEC23" href="#TOC1">BACTRACKING CONTROL</a><br> |
<br><a name="SEC24" href="#TOC1">BACTRACKING CONTROL</a><br> |
| 2033 |
<P> |
<P> |
| 2034 |
Perl 5.10 introduced a number of "Special Backtracking Control Verbs", which |
Perl 5.10 introduced a number of "Special Backtracking Control Verbs", which |
| 2035 |
are described in the Perl documentation as "experimental and subject to change |
are described in the Perl documentation as "experimental and subject to change |
| 2144 |
second alternative and tries COND2, without backtracking into COND1. If (*THEN) |
second alternative and tries COND2, without backtracking into COND1. If (*THEN) |
| 2145 |
is used outside of any alternation, it acts exactly like (*PRUNE). |
is used outside of any alternation, it acts exactly like (*PRUNE). |
| 2146 |
</P> |
</P> |
| 2147 |
<br><a name="SEC24" href="#TOC1">SEE ALSO</a><br> |
<br><a name="SEC25" href="#TOC1">SEE ALSO</a><br> |
| 2148 |
<P> |
<P> |
| 2149 |
<b>pcreapi</b>(3), <b>pcrecallout</b>(3), <b>pcrematching</b>(3), <b>pcre</b>(3). |
<b>pcreapi</b>(3), <b>pcrecallout</b>(3), <b>pcrematching</b>(3), <b>pcre</b>(3). |
| 2150 |
</P> |
</P> |
| 2151 |
<br><a name="SEC25" href="#TOC1">AUTHOR</a><br> |
<br><a name="SEC26" href="#TOC1">AUTHOR</a><br> |
| 2152 |
<P> |
<P> |
| 2153 |
Philip Hazel |
Philip Hazel |
| 2154 |
<br> |
<br> |
| 2157 |
Cambridge CB2 3QH, England. |
Cambridge CB2 3QH, England. |
| 2158 |
<br> |
<br> |
| 2159 |
</P> |
</P> |
| 2160 |
<br><a name="SEC26" href="#TOC1">REVISION</a><br> |
<br><a name="SEC27" href="#TOC1">REVISION</a><br> |
| 2161 |
<P> |
<P> |
| 2162 |
Last updated: 09 August 2007 |
Last updated: 21 August 2007 |
| 2163 |
<br> |
<br> |
| 2164 |
Copyright © 1997-2007 University of Cambridge. |
Copyright © 1997-2007 University of Cambridge. |
| 2165 |
<br> |
<br> |