在R / Perl的正则表达式复杂的搜索使用前瞻/落后

问题描述 投票:1回答:1

我无法弄清楚如何利用向前看符号/屁股正则表达式找到跨越单个搜索位(?)字/主题我在寻找的匹配。

在一组DNA串,我需要TGGA +一个C或T + 0-4 A / C / T / G +> = 5 C / T匹配,但不希望在比赛的任何地方GT。我已想出如何将0-4 A / C / T / G内消除这种(实施例#1),但我不能找出如何处理的情况下在G来自[A,C, T,G] {0,4}和相邻T来自{5,}。

我已经尝试在的[A,C,T,G前的最后部分扩展到[C,T](?>!GT)[C,T] {4,}和它的外表后面之后加入一看后面] {0,4}不拿起分裂GT实例。任何提示/帮助将不胜感激!

当前正则表达式:

TGGA[C,T](?!GT)[A,C,T,G]{0,4}[C,T]{5,}

例如设置: 1)TGGACGTGGTCCCCC(坏,处理) 2)TGGACGCCCCC(好) 3)TGGACGGGGTCCCCC ...(不好,我该如何解决这个问题?)

r regex perl lookahead lookbehind
1个回答
3
投票

使用相关摹字符后,负先行,以表明为T不应该遵循:

/TGGA[CT](?:[ACT]|G(?!T)){0,4}[CT]{5,}/
© www.soinside.com 2019 - 2024. All rights reserved.