Try the following code:
echo matchlist('abc', '\%#=1\v(\_.{-})\C(%(\V\\\v)*)@>(\V%\v|%$)')
echo matchlist('abc', '\%#=2\v(\_.{-})\C(%(\V\\\v)*)@>(\V%\v|%$)')
. You will see that output differs: first version (with old engine) contains
“abc” in first capturing group and full text, second version contains “abc”
only in full text, but not in any capturing group. Given these regexes this
should not be possible: all matched text is always covered by one of three
capturing groups. The following regex seems to be the minimal example:
echo matchlist('a', '\v(.)($)@>')
. Note: you can put into second parenthesis anything you like that does match
and you can have any number of capturing group before capturing group with `@>`
attached: all preceding groups will be empty.
Workaround: use non-capturing group for `@>` and surround it with capturing
group.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.