在Ruby中用正则表达式匹配三元组?
我需要将RNA密码子与Ruby匹配,而匹配必须在停止密码子出现时停止。这几乎达到了目的:在Ruby中用正则表达式匹配三元组?,ruby,regex,Ruby,Regex,我需要将RNA密码子与Ruby匹配,而匹配必须在停止密码子出现时停止。这几乎达到了目的: "GUUAAUGAGUAAGUAAGUAG" =~/AUG(.*?)(UAA|UAG|UGA)/ puts($&) -->AUGAGUAA 然而,它在三胞胎中并不匹配,这导致了过早的停止。它必须是: AUG AGU AAG UAA。然后,就不再有终止密码子三联体了。如何做到这一点?在模式中使用三个点:/AUG((…)*?)(UAA | UAG | UGA)/ 这样,它将只匹配长度为0、3、6
"GUUAAUGAGUAAGUAAGUAG" =~/AUG(.*?)(UAA|UAG|UGA)/
puts($&)
-->AUGAGUAA
然而,它在三胞胎中并不匹配,这导致了过早的停止。它必须是:
AUG AGU AAG UAA
。然后,就不再有终止密码子三联体了。如何做到这一点?在模式中使用三个点:/AUG((…)*?)(UAA | UAG | UGA)/
这样,它将只匹配长度为0、3、6、9等的序列