guid 的 vim 模式是什么
What is the vim pattern for 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 的正确模式是什么?
Vim 需要一种不同的转义:
[A-F0-9]\{8}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{12}
检查 vim 中的 :help pattern-overview
,文档非常好。
你的问题是你没有转义 {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}
您可以打开 'magic',这样可以减少反斜杠的使用。
\v\x{8}-(\x{4}-){3}\x{12}
这是我所知道的最短、最易读的版本。
我在类似于以下文件的文本文件中有 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 的正确模式是什么?
Vim 需要一种不同的转义:
[A-F0-9]\{8}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{12}
检查 vim 中的 :help pattern-overview
,文档非常好。
你的问题是你没有转义 {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}
您可以打开 'magic',这样可以减少反斜杠的使用。
\v\x{8}-(\x{4}-){3}\x{12}
这是我所知道的最短、最易读的版本。