Я не могу понять, как использовать упущения / спины в регулярном выражении, чтобы найти совпадения по отдельным поисковым битам (?) Слова / мотива, который я ищу.
В наборе цепочек ДНК мне нужно соответствовать 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,}.
Я попытался добавить взгляд назад после расширения последней части до [C, T] (?>! GT) [C, T] {4,} и взгляда позади перед [A, C, T, G] {0,4} не подхватывает разделенный экземпляр GT.Будем благодарны за любые советы / помощь!
Текущее регулярное выражение:
TGGA[C,T](?!GT)[A,C,T,G]{0,4}[C,T]{5,}
Пример набора:
1) TGGACGTGGTCCCCC (плохо, рассматривается)
2) TGGACGCCCCC (хорошо)
3) TGGACGGGGTCCCCC ... (плохо, как мне это исправить?)