gpt4 book ai didi

regex - guid 的 vim 模式是什么

转载 作者:行者123 更新时间:2023-12-02 00:50:32 25 4
gpt4 key购买 nike

我在类似于以下文件的文本文件中有 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 的正确模式是什么?

最佳答案

你的问题是你没有转义 {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}

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

关于regex - guid 的 vim 模式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40311345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com