summaryrefslogtreecommitdiff
path: root/doc/html/pcre2pattern.html
diff options
context:
space:
mode:
authorph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2018-06-28 16:56:56 +0000
committerph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2018-06-28 16:56:56 +0000
commitdb51ea04909fa2a97dfd97f9a865d326e0a7c379 (patch)
tree30f0ebd68a953acf0a45120c9d71a4657d2283ec /doc/html/pcre2pattern.html
parent739394485b92abcb5a5e2298c0b4591c9b367abf (diff)
downloadpcre2-db51ea04909fa2a97dfd97f9a865d326e0a7c379.tar.gz
Documentation update.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@952 6239d852-aaf2-0410-a92c-79f79f948069
Diffstat (limited to 'doc/html/pcre2pattern.html')
-rw-r--r--doc/html/pcre2pattern.html40
1 files changed, 24 insertions, 16 deletions
diff --git a/doc/html/pcre2pattern.html b/doc/html/pcre2pattern.html
index f4bd7f8..f07041b 100644
--- a/doc/html/pcre2pattern.html
+++ b/doc/html/pcre2pattern.html
@@ -195,7 +195,7 @@ where d is any number of decimal digits. However, the value of the setting must
be less than the value set (or defaulted) by the caller of <b>pcre2_match()</b>
for it to have any effect. In other words, the pattern writer can lower the
limits set by the programmer, but not raise them. If there is more than one
-setting of one of these limits, the lower value is used. The heap limit is
+setting of one of these limits, the lower value is used. The heap limit is
specified in kibibytes (units of 1024 bytes).
</P>
<P>
@@ -1085,12 +1085,19 @@ Resetting the match start
</b><br>
<P>
The escape sequence \K causes any previously matched characters not to be
-included in the final matched sequence. For example, the pattern:
+included in the final matched sequence that is returned. For example, the
+pattern:
<pre>
foo\Kbar
</pre>
-matches "foobar", but reports that it has matched "bar". This feature is
-similar to a lookbehind assertion
+matches "foobar", but reports that it has matched "bar". \K does not interact
+with anchoring in any way. The pattern:
+<pre>
+ ^foo\Kbar
+</pre>
+matches only when the subject begins with "foobar" (in single line mode),
+though it again reports the matched string as "bar". This feature is similar to
+a lookbehind assertion
<a href="#lookbehind">(described below).</a>
However, in this case, the part of the subject before the real match does not
have to be of fixed length, as lookbehind assertions do. The use of \K does
@@ -1107,7 +1114,8 @@ Perl documents that the use of \K within assertions is "not well defined". In
PCRE2, \K is acted upon when it occurs inside positive assertions, but is
ignored in negative assertions. Note that when a pattern such as (?=ab\K)
matches, the reported start of the match can be greater than the end of the
-match.
+match. Using \K in a lookbehind assertion at the start of a pattern can also
+lead to odd effects.
<a name="smallassertions"></a></P>
<br><b>
Simple assertions
@@ -1158,18 +1166,18 @@ end.
</P>
<P>
The \G assertion is true only when the current matching position is at the
-start point of the match, as specified by the <i>startoffset</i> argument of
-<b>pcre2_match()</b>. It differs from \A when the value of <i>startoffset</i> is
-non-zero. By calling <b>pcre2_match()</b> multiple times with appropriate
-arguments, you can mimic Perl's /g option, and it is in this kind of
-implementation where \G can be useful.
+start point of the matching process, as specified by the <i>startoffset</i>
+argument of <b>pcre2_match()</b>. It differs from \A when the value of
+<i>startoffset</i> is non-zero. By calling <b>pcre2_match()</b> multiple times
+with appropriate arguments, you can mimic Perl's /g option, and it is in this
+kind of implementation where \G can be useful.
</P>
<P>
-Note, however, that PCRE2's interpretation of \G, as the start of the current
-match, is subtly different from Perl's, which defines it as the end of the
-previous match. In Perl, these can be different when the previously matched
-string was empty. Because PCRE2 does just one match at a time, it cannot
-reproduce this behaviour.
+Note, however, that PCRE2's implementation of \G, being true at the starting
+character of the matching process, is subtly different from Perl's, which
+defines it as true at the end of the previous match. In Perl, these can be
+different when the previously matched string was empty. Because PCRE2 does just
+one match at a time, it cannot reproduce this behaviour.
</P>
<P>
If all the alternatives of a pattern begin with \G, the expression is anchored
@@ -3476,7 +3484,7 @@ Cambridge, England.
</P>
<br><a name="SEC30" href="#TOC1">REVISION</a><br>
<P>
-Last updated: 25 April 2018
+Last updated: 28 June 2018
<br>
Copyright &copy; 1997-2018 University of Cambridge.
<br>