正则表达式 - 如何搜索重叠三元组?

时间:2014-10-16 18:57:49

标签: regex regex-lookarounds

所以我有4000行的这个文件,我只想在其中打印带有三元组的行。即

ADSKLF AZE GJSBN AZE KGRE

AFJEN ABABA JGORENFNEZJAJEO(重叠三联体)

我试过了egrep '(...).*\1',但当然这并没有打印重叠的那些。 显然你可以使用环顾来解决这个问题,但我无法想出答案。

已解决 http://regex101.com/r/hG3bO1/5

2 个答案:

答案 0 :(得分:0)

试试这个:

(?=((.)(.)(.)))(\2|\2\3|.+)\1

DEMO

答案 1 :(得分:0)

您可以尝试下面的正则表达式。

(?=(.)(?=.\1)(.{2})\2)|(?=((.)\4\4))|(.{3})(?=.*?\5)

DEMO