2014-01-04 4 views
2

Мне нужно совместить RNA Codons с Ruby, тогда как матч должен останавливаться всякий раз, когда появляется стоп-кодон. Это почти делает трюк:Соответствующие триплеты с регулярным выражением в Ruby?

"GUUAAUGAGUAAGUAAGUAG" =~/AUG(.*?)(UAA|UAG|UGA)/ 
puts($&) 
-->AUGAGUAA 

Однако это не соответствует тройкам, что приводит к преждевременной остановке. Это должно быть: AUG AGU AAG UAA. Затем больше нет стоп-кодонов-триплетов. Как мне это сделать?

ответ

1

Используйте три точки в схеме: /AUG((...)*?)(UAA|UAG|UGA)/

Таким образом, это будет только соответствовать последовательности длины 0, 3, 6, 9 и т.д.

Смежные вопросы