常规表达式:复杂多重匹配

2024-10-04 03:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我试着匹配所有的基因符号。我试过使用re,regex和它们不同的模块,但是没有用


Tags: idlinesymboltaxgeneblaaccessionor4f29
1条回答
网友
1楼 · 发布于 2024-10-04 03:17:53

这项工作假设基因的符号和基因的加入总是在你的例子顺序。否则需要调整正则表达式

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

相关问题 更多 >