我有一个字符串,其中包含许多我想从中提取的字段。我可以用正则表达式很容易地从行中解析它们,但是我想一次把它们都抓住。
我的字符串是:
>sp|P31946-2|1433B_HUMAN Isoform Short of 14-3-3 protein beta/alpha OS=Homo sapiens GN=YWHAB我想使用这样的东西:
id, entry, protein, organism, gene, existence, seq_version = (1..6).each do |i|
line[/^>sp\|(\w*)\|(\w*)\s(.*)\sOS=(.+)\sGN=(.+)\sPE=(\d*)\sSV=(\d*)/, i]
end基本上,我只想用一行代码来捕获条目字符串中的所有这些属性。有办法做到这一点吗?
发布于 2011-03-23 07:32:28
另外,
>> "THX1138".scan(/(.)(.)(\d+)(\d)/)
=> [["H", "X", "113", "8"]]发布于 2011-03-23 06:14:47
MatchData#captures
f1,f2,f3,f4 = /(.)(.)(\d+)(\d)/.match("THX1138.").captures
f1 #=> "H"
f2 #=> "X"
f3 #=> "113"
f4 #=> "8"https://stackoverflow.com/questions/5398437
复制相似问题