我尝试使用一个正则表达式来捕获以下模式:我想包括a-z中的字符,但排除e,f和g我知道Vim中的字符类
[^efg]
字符串
不包括字符:e、f和g
我试过遵循正则表达式
%s/[a-z[^efg]]//gc
型但它并没有捕捉到我想要的
5jvtdoz21#
您可以考虑在单个字符组中使用您需要的其他范围(即[a-d]和[h-z]),该字符组应匹配除显式排除的字符之外的所有字符:
[a-d]
[h-z]
[a-dh-z]
示例
的数据你可以see an interactive example of this here。
k75qkfdt2#
另一种方法是:
:%s/[efg]\@!.//g
字符串因为\@!做负/逆匹配。
\@!
2条答案
按热度按时间5jvtdoz21#
您可以考虑在单个字符组中使用您需要的其他范围(即
[a-d]
和[h-z]
),该字符组应匹配除显式排除的字符之外的所有字符:字符串
示例
的数据
你可以see an interactive example of this here。
k75qkfdt2#
另一种方法是:
字符串
因为
\@!
做负/逆匹配。