查找所有以特定字符开头和结尾的子字符串

时间:2019-07-23 13:00:56

标签: python regex

我必须找到所有子字符串,它是一个字符串$ a $,以M开头,以_结尾 我尝试过

a = 'ICQLEFAKNASFSVSNVSKKNGEFSHAHEQDQNLRLIARQR_RSADGTPNKVNTSNVRCSTPIFGNNPFAQSLAHREYGHEGENVQCRPCGSLPSRKCQRNVHPKQQQQQQHQHCHRNSA_APAIRAAQAAGGDNSSRSEK_RAAAARIPVNDDSNMETSLALESRRRNHQSIEPLVRG_PCRQCNNRFSCTWAWRTM_PISNEAHIDLVELASLERADNC_NRPKYR_GLQPYHGNCSTLFK_IAGMSIFYHNTKILKCFM_RETL_F_NYVDN_VGILELL_KTWNS_SSSFLALNNKL_YTNKNLCNS_NVAPKLIYKN_IYFVS_QIA'$

b=re.findall('^M_$',a)

给出一个空列表 我希望输出像这样

['METSLALESRRRNHQSIEPLVRG_', 'M_', 'M_']

1 个答案:

答案 0 :(得分:4)

这是一种实现方法:

>>> re.findall('M.*?_', a)
['METSLALESRRRNHQSIEPLVRG_', 'M_', 'MSIFYHNTKILKCFM_']

或者,如果结果中不能包含嵌入的M字符:

>>> re.findall('M[^M]*?_', a)
['METSLALESRRRNHQSIEPLVRG_', 'M_', 'M_']