Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby中用正则表达式匹配三元组?_Ruby_Regex - Fatal编程技术网

在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

我需要将RNA密码子与Ruby匹配,而匹配必须在停止密码子出现时停止。这几乎达到了目的:

"GUUAAUGAGUAAGUAAGUAG" =~/AUG(.*?)(UAA|UAG|UGA)/
puts($&)
-->AUGAGUAA
然而,它在三胞胎中并不匹配,这导致了过早的停止。它必须是:
AUG AGU AAG UAA
。然后,就不再有终止密码子三联体了。如何做到这一点?

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

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