如何找到至少 30 个数字的重复序列?
数据样本
2.3758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840546697038724373576309794988610478359908883826879271070615034168564920273348519362186788154897494305239179954441913439635535307517084282460136674259681093394077448747152619589977220956719817767653758542141230068337129840547
Run Code Online (Sandbox Code Playgroud)
我在 Vim 中的尝试
:g/\(\d\{4}\)\[^\1\]\1/
|
|----------- Problem here!
Run Code Online (Sandbox Code Playgroud)
我不知道你如何能够否定第一个 glob。
首先,要查找重复号码,您可以使用以下简单搜索:
/\(\d\{5\}\).\{-}\1
Run Code Online (Sandbox Code Playgroud)
此搜索发现 5 个数字的重复。不幸的是,vim 从 5 位数字的开始到重复的结束都突出显示 -包括中间的每个数字- 这使得很难看出 5 位数字是什么。另外,由于您的数字序列重复次数太多,因此整个事情都会突出显示,因为自始至终都有重复。
:set incsearch您可能会发现使用和键入/\(\d\{5\}\).\{-}\1或/\(\d\{5\}\)\ze.\{-}\1 不按 Enter 键更有用,这样您就可以看到数字是什么。
这个命令可能对你更有用:
:syn region repeatSection matchgroup=Search start=/\z(\d\{30}\)/ matchgroup=Error end=/\z1/ oneline
Run Code Online (Sandbox Code Playgroud)
这将以黄色(第一次看到)或红色(重复出现时)突出显示 30 位数字的序列。请注意,这仅适用于单行文本(不可能是多行)。
| 归档时间: |
|
| 查看次数: |
7978 次 |
| 最近记录: |