【问题标题】:Match successive overlapping groups with regex使用正则表达式匹配连续的重叠组
【发布时间】:2016-11-08 00:58:10
【问题描述】:

我有这样的字符串:

TAACCCTAACCCTAACCCTA

我可以的

$ echo TAACCCTAACCCTAACCCTA | grep -Eo "[ACGT]{4}"
TAAC
CCTA
ACCC
TAAC
CCTA

但我想:

TAAC
AACC
ACCC
CCCT
CCTA
...
...

它一定与非贪婪和前瞻或后视有关,但我需要一些帮助。

【问题讨论】:

    标签: regex awk grep overlap regex-lookarounds


    【解决方案1】:
    echo TAACCCTAACCCTAACCCTA | awk '{while (d++ < length) print substr($0, d, 4)}'
    

    【讨论】:

    • 谢谢!这完全适用于一次更改。需要length-3 或在最后获取一些存根。我希望有一个正则表达式解决方案。
    • @abalter 为什么在马会做的时候使用斑马?
    • 要了解更多关于正则表达式的信息,并且将来可能需要类似但不同的东西。但是学习更多 awk 也很好,而且你的答案很简洁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2017-11-10
    相关资源
    最近更新 更多