我需要将RNA密码与Ruby匹配,而每当出现一个停止密码子时匹配必须停止。这几乎可以解决问题:
"GUUAAUGAGUAAGUAAGUAG" =~/AUG(.*?)(UAA|UAG|UGA)/
puts($&)
-->AUGAGUAA
然而,它在三胞胎中不匹配导致不合时宜的停止。它一定要是:
AUG AGU AAG UAA
。然后,没有更多的stop-codon-triplets了。我该怎么做?
答案 0 :(得分:1)
在模式中使用三个点:/AUG((...)*?)(UAA|UAG|UGA)/
这样它只匹配长度为0,3,6,9等的序列