[英]What is the correct VIM regexp to search to get = but not ==?
在以下代码中:
a = b = c == 1
我想只匹配前两个=,而不是最后的==。
我认为模式\\<=\\>
将起作用,因为\\<
匹配单词的开头, \\>
匹配结束。 但事实并非如此。 这种模式有什么问题,正确的模式是什么?
vim支持lookarounds,所以你可以使用负面的lookbehind和负面的前瞻来围绕=。 这将仅匹配行的开头或结尾处的期望=和偶数=。
\(=\)\@<!=\(=\)\@!
您不能使用\\<=\\>
因为通常,equals字符不是 关键字字符 。 您可以使用以下方法解决此问题:set iskeyword+==
,但这可能会导致导航和语法突出显示的副作用。
这个正则表达式应该工作:
[^=]=[^=]
如果你想在行的开头或末尾匹配single =
会破坏 - 但我认为这不是你的模式的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.