gpt4 book ai didi

regex - 通过 Vim 的 Regex 和 globbing 查找重复

转载 作者:行者123 更新时间:2023-12-02 07:54:49 25 4
gpt4 key购买 nike

如何找到至少 30 个数字的重复序列?

数据样本

2.3758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840547

我在 Vim 中的尝试

:g/\(\d\{4}\)\[^\1\]\1/
|
|----------- Problem here!

我不知道你怎么能否定第一个 glob。

最佳答案

首先,要找到你的重复号码,你可以使用这个简单的搜索:

/\(\d\{5\}\).\{-}\1

此搜索查找 5 个数字的重复项。不幸的是,vim 从 5 位数字的开头到重复的结尾突出显示 - 包括中间的每个数字 - 这使得很难看到 5 位数字是什么。另外,因为你的数字序列重复了很多,所以整个事情都被突出显示,因为从头到尾都有重复。

您可能会发现使用 :set incsearch 并输入 /\(\d\{5\}\) 会更有用。\{-}\1/\(\d\{5\}\)\ze.\{-}\1 不按回车键,这样您就可以看到数字是什么。

这个命令可能对你更有用:

:syn region repeatSection matchgroup=Search start=/\z(\d\{30}\)/ matchgroup=Error end=/\z1/ oneline

这将以黄色(第一次出现)或红色(重复出现时)突出显示 30 位数字序列。 注意,这仅适用于单行文本(多行是不可能的)。

关于regex - 通过 Vim 的 Regex 和 globbing 查找重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532456/

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