2017-05-08 11 views
-3
line = 'bla bla bla Tax_Id=9606 Gene_Symbol=OR4F16 OR4F28P OR4F29 OR4F2P OR4F3 DTR4F7P BPFR4F8P Gene_Accession=ENSG00000217874 bla bla bla' 

私はすべての遺伝子記号に一致させようとしています。 re、regex、およびそれらの異なるモジュールを使ってみましたが、動作しません。正規表現:複合複数の一致

+0

あなたはそれを試してみましたか? – gaganshera

+0

ダビデの助けを借りたい人がたくさんいます。あなたは、あなたがしたいことをもっと明示する必要があります。また、reモジュールを使用して問題を解決するために書いたコードを表示する必要があります。 –

+0

'それは動作しません' Regex works! – sln

答えて

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 
+0

ありがとう! – VaraZ

関連する問題