diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-03-29 23:10:31 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-03-29 23:10:31 +0200 |
commit | 7fed5c18f8577b75404b80d8b9a9907b1bbd27e4 (patch) | |
tree | 9405e4b272b71b0c430e865a2d893ba80c13c7ef /runtime | |
parent | d18cfb7dbfd32af729d3ac5136f77dcdbefe5dee (diff) | |
download | vim-git-7fed5c18f8577b75404b80d8b9a9907b1bbd27e4.tar.gz |
patch 7.4.1685v7.4.1685
Problem: There is no easy way to get all the information about a match.
Solution: Add matchstrpos(). (Ozaki Kiichi)
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/eval.txt | 20 | ||||
-rw-r--r-- | runtime/doc/usr_41.txt | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 79cf58cf9..80395ed45 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -2020,6 +2020,8 @@ matchlist( {expr}, {pat}[, {start}[, {count}]]) List match and submatches of {pat} in {expr} matchstr( {expr}, {pat}[, {start}[, {count}]]) String {count}'th match of {pat} in {expr} +matchstrpos( {expr}, {pat}[, {start}[, {count}]]) + List {count}'th match of {pat} in {expr} max( {list}) Number maximum value of items in {list} min( {list}) Number minimum value of items in {list} mkdir( {name} [, {path} [, {prot}]]) @@ -5206,6 +5208,24 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()* When {expr} is a |List| then the matching item is returned. The type isn't changed, it's not necessarily a String. +matchstrpos({expr}, {pat}[, {start}[, {count}]]) *matchstrpos()* + Same as |matchstr()|, but return the matched string, the start + position and the end position of the match. Example: > + :echo matchstrpos("testing", "ing") +< results in ["ing", 4, 7]. + When there is no match ["", -1, -1] is returned. + The {start}, if given, has the same meaning as for |match()|. > + :echo matchstrpos("testing", "ing", 2) +< results in ["ing", 4, 7]. > + :echo matchstrpos("testing", "ing", 5) +< result is ["", -1, -1]. + When {expr} is a |List| then the matching item, the index + of first item where {pat} matches, the start position and the + end position of the match are returned. > + :echo matchstrpos([1, '__x'], '\a') +< result is ["x", 1, 2, 3]. + The type isn't changed, it's not necessarily a String. + *max()* max({list}) Return the maximum value of all items in {list}. If {list} is not a list or one of the items in {list} cannot diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 920be4aab..140a8ad88 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -592,6 +592,7 @@ String manipulation: *string-functions* match() position where a pattern matches in a string matchend() position where a pattern match ends in a string matchstr() match of a pattern in a string + matchstrpos() match and postions of a pattern in a string matchlist() like matchstr() and also return submatches stridx() first index of a short string in a long string strridx() last index of a short string in a long string |