在Ruby中使用Regular Expression匹配三元组?

时间:2014-01-04 14:45:22

标签: ruby regex

我需要将RNA密码与Ruby匹配,而每当出现一个停止密码子时匹配必须停止。这几乎可以解决问题:

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

然而,它在三胞胎中不匹配导致不合时宜的停止。它一定要是: AUG AGU AAG UAA。然后,没有更多的stop-codon-triplets了。我该怎么做?

1 个答案:

答案 0 :(得分:1)

在模式中使用三个点:/AUG((...)*?)(UAA|UAG|UGA)/

这样它只匹配长度为0,3,6,9等的序列