正则表达式:复杂的多重匹配

时间:2017-05-08 17:50:59

标签: python regex

line = 'bla bla bla Tax_Id=9606 Gene_Symbol=OR4F16 OR4F28P OR4F29 OR4F2P OR4F3 DTR4F7P BPFR4F8P Gene_Accession=ENSG00000217874 bla bla bla'

我正在尝试匹配所有Gene符号。我尝试使用re,regex及其不同的模块,但它不起作用。

1 个答案:

答案 0 :(得分:0)

这可以假设Gene_Symbol和Gene_Accession总是按照你的例子的顺序。否则,需要调整正则表达式。

import re

line = 'bla bla bla Tax_Id=9606 Gene_Symbol=OR4F16 OR4F28P OR4F29 OR4F2P OR4F3 DTR4F7P BPFR4F8P Gene_Accession=ENSG00000217874 bla bla bla'

regex = r"Gene_Symbol=(.*)Gene_Accession"

p = re.search(regex,line)

symbols = p.group(1).split()

for symbol in symbols:
    print symbol

输出:

OR4F16
OR4F28P
OR4F29
OR4F2P
OR4F3
DTR4F7P
BPFR4F8P