vim的模式匹配使用正则表达式
.*是贪婪匹配,会匹配最多的字符
如果要是非贪婪的匹配则要使用\{-}
一个例子如下:
msgid:[aaaaa-ffff-#abcdef-[color=red]123456_id[/color]] #########################zzz-eee############
如果用[b]msg.*-[/b]匹配会匹配到
[b]msgid:[aaaaa-ffff-#abcdef-123456_id] #########################zzz-[/b]
但是我们只需要红色的部分,所以要一个非贪婪的方法
替换[b]:%s/msgid.\{-}#.\{-}-//g[/b]
匹配[b] /msgid.\{-}#.\{-}-[/b]
.*是贪婪匹配,会匹配最多的字符
如果要是非贪婪的匹配则要使用\{-}
一个例子如下:
msgid:[aaaaa-ffff-#abcdef-[color=red]123456_id[/color]] #########################zzz-eee############
如果用[b]msg.*-[/b]匹配会匹配到
[b]msgid:[aaaaa-ffff-#abcdef-123456_id] #########################zzz-[/b]
但是我们只需要红色的部分,所以要一个非贪婪的方法
替换[b]:%s/msgid.\{-}#.\{-}-//g[/b]
匹配[b] /msgid.\{-}#.\{-}-[/b]