我正在使用Cisco Prime Infrastrucure,它使用Java正则表达式引擎。我想要一个正则表达式,只有在特定配置(文本输出)中确切出现两次某个字符串时才匹配。
我尝试匹配相应的区域,将其设置在一个组中,然后尝试使用回溯精确地重新匹配相同的内容:
(at \d{2}\:\d{2}\:\d{2} CET \D{3} \D{3} \d+ \d{4} by \D{6})\1
\1
匹配第一个捕获组最近匹配的文本。
所以基本上,如果我对以下文本运行正则表达式:
Current configuration : 11518 bytes
!
! Last configuration change at 12:48:00 CET Thu Jan 3 2019 by admjos
! NVRAM config last updated at 12:48:00 CET Thu Jan 3 2019 by admjos
!
我应该得到一个匹配,因为它们是相同的。但如果我将其运行对比:
Current configuration : 11524 bytes
!
! Last configuration change at 10:40:46 CET Wed Jan 16 2019 by admjos
! NVRAM config last updated at 12:48:02 CET Thu Jan 3 2019 by admjos
!
我不应该匹配成功,因为这两行不同。希望在正则表达式中有类似的解决方案是可能的。我没有使用函数的可能性。
.*\n.*
。 - Wiktor Stribiżew