Regex 如何使用反向引用突出显示所有匹配项?

Regex 如何使用反向引用突出显示所有匹配项?,regex,search,vim,match,Regex,Search,Vim,Match,我有这个: /\(\d\{4}\ud\{2}\ud\{2}\).\1 在同一行中查找两个日期 我想突出显示(在正常搜索中)找到的所有匹配项(而不仅仅是上面正则表达式中的第一个匹配项) 我如何才能做到这一点?我从问题标签中收集到您正在使用的信息。在Vim中,激活: 然后像这样搜索: /\d\{4}_\d\{2}_\d\{2}[^0-9]*\d\{4}_\d\{2}_\d\{2} 这将高亮显示整个文件中一行中的所有双日期。正则表达式假定日期之间的空格由非数字字符填充 正则表达式示例: 我从问题标签

我有这个:

/\(\d\{4}\ud\{2}\ud\{2}\).\1

在同一行中查找两个日期

我想突出显示(在正常搜索中)找到的所有匹配项(而不仅仅是上面正则表达式中的第一个匹配项)

我如何才能做到这一点?

我从问题标签中收集到您正在使用的信息。在Vim中,激活:

然后像这样搜索:

/\d\{4}_\d\{2}_\d\{2}[^0-9]*\d\{4}_\d\{2}_\d\{2}
这将高亮显示整个文件中一行中的所有双日期。正则表达式假定日期之间的空格由非数字字符填充

正则表达式示例:

我从问题标签中收集您正在使用的信息。在Vim中,激活:

然后像这样搜索:

/\d\{4}_\d\{2}_\d\{2}[^0-9]*\d\{4}_\d\{2}_\d\{2}
这将高亮显示整个文件中一行中的所有双日期。正则表达式假定日期之间的空格由非数字字符填充

正则表达式示例:

是什么原因导致它亮起?捕获帕伦斯?您是否尝试过在
\1
周围放置括号?(我本以为整场比赛都会很精彩。)@KennethK。它突出显示了匹配项和所有之间的匹配项。我希望它只突出显示日期。只突出显示日期需要一个Vim选项,告诉它忽略每行中的第一个匹配项。(你会只搜索一个简单的日期模式,所以一个匹配只匹配一个日期。)但是,这样的选项是不存在的。是什么导致它高亮显示的?捕获帕伦斯?您是否尝试过在
\1
周围放置括号?(我本以为整场比赛都会很精彩。)@KennethK。它突出显示了匹配项和所有之间的匹配项。我希望它只突出显示日期。只突出显示日期需要一个Vim选项,告诉它忽略每行中的第一个匹配项。(你会只搜索一个简单的日期模式,所以一个匹配只匹配一个日期。)但是,这样的选项是不存在的。你从哪里得到这个图像的?我喜欢那些用数字工作的小机器人;-)@托马斯,我只想强调比赛。您的解决方案会突出显示匹配项和所有匹配项。@Remonn好吧,这是不可能的,因为Vim总是突出显示匹配项,而匹配项是由正则表达式定义的,因此它会突出显示所有匹配项,包括中间的空格。您可以放弃“双倍日期”要求,只需突出显示所有日期。@Thomas突出显示所有日期,甚至突出显示同一行中没有双倍日期的日期。@Remonn完全正确,但这些恐怕是您的选择。您从何处获得此图像?我喜欢那些用数字工作的小机器人;-)@托马斯,我只想强调比赛。您的解决方案会突出显示匹配项和所有匹配项。@Remonn好吧,这是不可能的,因为Vim总是突出显示匹配项,而匹配项是由正则表达式定义的,因此它会突出显示所有匹配项,包括中间的空格。您可以放弃“双倍日期”要求,只需突出显示所有日期。@Thomas突出显示所有日期,甚至突出显示同一行中没有双倍日期的日期。@Remonn完全正确,但这些恐怕是您的选择。