当前位置:  开发笔记 > 开发工具 > 正文

匹配Vim中未跟随子模式的模式

如何解决《匹配Vim中未跟随子模式的模式》经验,为你挑选了1个好方法。

假设我有一个包含以下字符串的行的文件:

...cat dog lorem ipsum...
...cat lizard ...
...cat bird ...
...cat dog ...

我想写的是其中线相匹配的正则表达式cat不是其次是dog:

...cat lizard ...
...cat bird ...

我怎样才能做到这一点?



1> Stew..:

通过跟随原子反向匹配原子@!.在这种情况下,我们想要匹配的原子是与字符串匹配的捕获组dog:

/\vcat (dog)@!

细分:

    \v激活非常神奇的解析模式

    (dog)匹配字符串dog并将其放入捕获组1中

    @!反转原子(dog),使得图案匹配时dog不存在

这匹配cat后面没有的实例(和尾随空格)dog.


没有"非常神奇"的模式:`/ cat \(dog \)\ @!`
@Kent 1.提供一个明确的问题陈述,我找不到Stack Overflow的直接例子,如果有人问到并直接回答,我搜索后找到的答案比我要求的还要长.SO政策明确鼓励这一点.如果你知道要找什么,那么文件很棒.我在这里看,因为我还不知道.
我知道如何访问文档本身,但我不确定使用什么语法来查找我正在寻找的内容.我在一个与切线相关的问题中找到了它.如果您认为该文档的示例更清晰,请将其发布或链接到此处供人们查看.如果您认为问题应该被关闭或删除,因为它与SO政策相冲突,那么请关闭或删除它.我不认为在评论中讨论这个问题对那些试图回答问题的人有帮助.
即使在其他地方找到答案,这也是SO自我回答问题的完美好习惯.这个特别的Qn为我节省了30分钟,感谢@Stew.通过谷歌搜索SO的答案比阅读vim的帮助要容易得多,也不那么痛苦,特别是当涉及到vim棘手的正则表达式语法时!
推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有