summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-05 18:21:29 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-05 19:36:21 +0900
commita8a7c9d05d2f9a4f49b43a42d8430faa37c4a4c6 (patch)
tree085273afa6e1ef3beaffffec515cd27926f0f1a8
parent4331d4bbf0dad5903fa42dff9e489949bbc275e8 (diff)
[DOC] [Bug #17120] Fix match-reset `\K`
-rw-r--r--doc/regexp.rdoc14
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/regexp.rdoc b/doc/regexp.rdoc
index f3844d5729..a7e2a0786e 100644
--- a/doc/regexp.rdoc
+++ b/doc/regexp.rdoc
@@ -550,12 +550,16 @@ characters, <i>anchoring</i> the match to a specific position.
* <tt>(?<!</tt><i>pat</i><tt>)</tt> - <i>Negative lookbehind</i>
assertion: ensures that the preceding characters do not match
<i>pat</i>, but doesn't include those characters in the matched text
-* <tt>\K</tt> - Uses an positive lookbehind of the content preceding
- <tt>\K</tt> in the regexp. For example, the following two regexps are
- almost equivalent:
- /ab\Kc/
- /(?<=ab)c/
+* <tt>\K</tt> - <i>Match reset</i>: the matched content preceding
+ <tt>\K</tt> in the regexp is excluded from the result. For example,
+ the following two regexps are almost equivalent:
+
+ /ab\Kc/ =~ "abc" #=> 0
+ /(?<=ab)c/ =~ "abc" #=> 2
+
+ These match same string and <i>$&</i> equals <tt>"c"</tt>, while the
+ matched position is different.
As are the following two regexps: