在vimscript中,我们有
是否有一种方法可以获得所有匹配字符串?
例如,使用字符串
但是,是否有任何方法可以获取单个字符
我知道我们可以使用
因此,在vimscript中获取字符串的所有匹配项是否有有效的方法?
substitute
函数,它将接受标志'g'
以替换所有出现的内容。是否有一种方法可以获得所有匹配字符串?
例如,使用字符串
'x y z'
,我们可以使用substitute('x y z', '[a-z]', 'abc', 'g')
将其更改为abc abc abc
。但是,是否有任何方法可以获取单个字符
['x','y','z']
?我知道我们可以使用
match()
来获取匹配位置,并使用matchstr()
来获取匹配的字符串。 但是如果我想遍历所有匹配项,则必须调用这两个函数,我认为这不是有效的方法。因此,在vimscript中获取字符串的所有匹配项是否有有效的方法?
substitute('x y z', '([a-z])', '\1', 'g')
将会得到x y z
。 - Anurag Peshnesubstitute('ax bx cy', '\([a-c]\)[x-y]', '\1', 'g')
将消耗 'x' 和 'y' 并返回 'a b c'。 - Anurag Peshnesubstitute('ax bx cy', '\([a-c]\)[x-y] \?', '\1', 'g')
将会消耗空格。 - Anurag Peshnesubstitute('ax bx cy', '\([a-c]\)[^a-c]', '\1', 'g')
- 即捕获所关心的模式,然后否定相同的模式。 - Anurag Peshne