2016-07-27 102 views

回答

6

使用分組構造(...)而不是字符類[...]圍繞替代:

p = re.compile("[AG].{2}(?:ATG|ATA|AAG).G") 
         ^^^^^^^^^^^^^^^ 

(?:ATG|ATA|AAG)比賽3個序列:要麼是ATG,或ATAAAG[ATG|ATA|AAG]字符分級匹配1個字符,可以是A,T,G|

請注意{1}是多餘的,可以刪除。

的Python:

import re 
p = re.compile("[AG].{2}(?:ATG|ATA|AAG).G") 
regex_result = p.search('ZZZAXXATGXGZZZ') 
print(regex_result.group()) 
# => AXXATGXG 

IDEONE demo

+0

美麗的解釋。你救了我的一天! –

相關問題