vim的高级用法-零宽匹配

零宽匹配

vim中,要进行零宽匹配,可以使用特殊字符和元字符来表示零宽度断言(lookaround assertions)。

如下是常用的零宽度断言

正前瞻断言(Positive Lookahead Assertion)

匹配某个位置后面跟特定模式,不消耗字符
语法:@=
例子:要匹配foo后面是bar的情况,可以使用/foo@=bar/

负前瞻断言(Negative Lookahead Assertion)

匹配某个位置后面不跟着特定模式,不消耗字符
语法:@!
例子:要匹配foo后面不是bar的情况,可以使用/foo@!bar/

正后顾断言(Positive Lookbehind Assertion)

匹配某个位置前面跟着特定模式,不消耗字符
语法:@<=
例子:要匹配foo前面是bar的情况,可以使用/(bar)foo@<=/

负后顾断言(Negative Lookbehind Assertion)

匹配某个位置前面不跟着特定模式,不消耗字符
语法:@ 例子:要匹配foo前面不是bar的情况,可以使用/(bar)foo@

例子

如果要零宽匹配字符"<200b>",/%u200b

你可能感兴趣的:(效率,vim)