我有一个字符串,其中包含我想从中提取的许多字段。 这些我可以很容易地从正则表达式解析,但我想一次抓住它们。
我的字符串是:
>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
主要是,我只想让一行代码从条目字符串中捕获所有这些属性。有办法吗?
答案 0 :(得分:3)
f1,f2,f3,f4 = /(.)(.)(\d+)(\d)/.match("THX1138.").captures
f1 #=> "H"
f2 #=> "X"
f3 #=> "113"
f4 #=> "8"
答案 1 :(得分:2)
另外,
>> "THX1138".scan(/(.)(.)(\d+)(\d)/)
=> [["H", "X", "113", "8"]]