我用的是 /[^a][^b]$,但 [^b] 似乎没起作用:只要一行倒数第 2 个字符是 a,就没有被 vim 匹配——我的正则出了什么问题?
/[^a][^b]$
[^b]
a
写法明显有问题吧,你这样写的意思是:倒数第一个不是b,倒数第二个不是a的所有行。没用vim,试了一下这个应该是可以的/^.*(?<!ab)$/
[^a][^b]$ 排除 a. 和 .b,与需求「排除 ab」 是不一致的! 正确的方法是使用否定零宽断言(环视):^(.*ab$)@!.*,需要注意的是有两个 .*。
[^a][^b]$
a.
.b
ab
^(.*ab$)@!.*
.*
2 回答2.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答2.1k 阅读
1 回答404 阅读
1 回答251 阅读
3 回答5.5k 阅读✓ 已解决
1 回答4.1k 阅读
2 回答4.4k 阅读✓ 已解决
3 回答4.4k 阅读✓ 已解决
2 回答14.3k 阅读✓ 已解决
写法明显有问题吧,你这样写的意思是:倒数第一个不是b,倒数第二个不是a的所有行。
没用vim,试了一下这个应该是可以的/^.*(?<!ab)$/