我正在尝试学习vim中的正则表达式,并卡在了以下任务上:
我想要进行替换,匹配所有以下行 - 以及类似的行 - 除了包含“Look aXXhead”的行。类似的行指的是介于a和head之间的任何内容,除了XX。
如果相关的话,我在尝试时抱有最高的期望。
错过了“三倍X”线。
那么,如何实现呢?
P.S. 这是我在Stack Exchange上的第一篇帖子,请在需要时帮助和纠正我,以防有更好的方式或地点提出此问题。
我想要进行替换,匹配所有以下行 - 以及类似的行 - 除了包含“Look aXXhead”的行。类似的行指的是介于a和head之间的任何内容,除了XX。
Look ahead
Look aYhead
Look aXhead
Look aXXhead
Look aXXXhead
如果相关的话,我在尝试时抱有最高的期望。
:%s/Look a\(XX\)\@!head/*\0
:%s/Look a\(.*\&\(XX\)\@!\)head/*\0
由于\(XX\)\@!
的零宽度,只匹配Look ahead
。我猜测。
尝试像这样:
:%s/Look a\(XX\)\@!.*head/*\0
错过了“三倍X”线。
那么,如何实现呢?
P.S. 这是我在Stack Exchange上的第一篇帖子,请在需要时帮助和纠正我,以防有更好的方式或地点提出此问题。