vim 零宽断言查找单个等号

vim零宽断言
a\zsbc 表示查找前面有字符a的字符串bc
ab\zec 表示查找字符串ab,ab后面有字符c

查找bc 但是有条件\zs,a在bc的前面,查找ab也有条件\ze,c在ab的后面
举例: 看看下面的字符串,就能找到符合条件的字符串.
abc bcd abd abcd

可惜正则表达式\zs,\ze 只是存在匹配,vim中相当于\@<=,\@=, 不存在匹配只能用\@<!,\@! 了.

扩展
\@=        正向,零宽在后断言-存在    foo\(bar\)\@=        等价于 foo\ze\(bar\)
\@<=    正向,零宽在前断言-存在    \(foo\)\@<=bar        等价于 \(foo\)\zsbar
下面取反就不能用\zs,\ze了, 只能用\@<!, \@!
\@!        负向,零宽在后断言-排除    foo\(bar\)\@!        查找foo, 后面不能有bar
\@<!    负向,零宽在前断言-排除    \(foo\)\@<!bar        查找bar, 前面不能有foo

foobar
foo bar

有用的例子:查找等号但不查找双等号
= == ===

当我们看代码时, 有时候对一个变量有多次引用, 我们想区分那些是赋值(=), 哪些是判断(==)
这就需要查找等号但不查找双等号. 高亮也是一样
查找=号, 但不查找==.
vim 高亮语法是: /=\@<!==\@!

/         :查找
=\@<!     :前面不匹配=
=        :查=
=\@!    :后面不匹配=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值