什么是guid的vim模式

时间:2016-10-28 18:42:13

标签: regex vim pattern-matching guid

我在类似下面的文本文件中有GUID数据:

D3C8D467-52DA-4B4F-8821-A589019ADDE2

我在 VIM 中尝试了以下模式匹配。但是,他们没有成功。

[0-9A-F]{8}\-[0-9A-F]{4}\-[0-9A-F]{4}\-[0-9A-F]{4}\-[0-9A-F]{12}

[0-9A-F]{8}[-][0-9A-F]{4}[-][0-9A-F]{4}[-][0-9A-F]{4}[-][0-9A-F]{12}

VIM 中查找GUID的正确模式是什么?

2 个答案:

答案 0 :(得分:2)

Vim需要一种不同的转义:

which(slope==1)

在vim中查看[A-F0-9]\{8}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{12} ,文档非常好。

答案 1 :(得分:2)

你的问题是你没有逃离{4}部分,但是你应该,并且你正在逃避破折号,但你不应该。要解决这个问题,请执行

[0-9A-F]\{8}-[0-9A-F]\{4}-[0-9A-F]\{4}-[0-9A-F]\{4}-[0-9A-F]\{12}

要解决此类问题的正则表达式问题,请尝试设置

:set incsearch

因此您可以在键入时看到匹配的搜索。我还建议为this page添加书签,这是对vim-regex进行故障排除的绝佳资源。

还有一些你可以为风格可读性做的事情。

  • 我建议使用\x元字符而不是范围,正弦它们在功能上是等效的。这给出了:

    \x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}
    
  • 您无需重复

    \x\{4}-
    
    三次。您只需要三场比赛:

    \x\{8}-\(\x\{4}-\)\{3}\x\{12}
    
  • 你可以打开“魔术”,让你使用更少的反斜杠。

    \v\x{8}-(\x{4}-){3}\x{12}
    

这是我所知道的最短且最易阅读的版本。