我有一個(gè)字符串,我想提取在““ X ”“兩個(gè)括號(hào)之間的exon_number我使用re.search查找'exon_number'的出現(xiàn),但我不想在最終輸出中包括字符串exon_number例子:temp_ID = []k = '"gene_id ""XLOC_000001""; transcript_id ""TCONS_00000001""; exon_number ""1""; oId ""CUFF.17.1""; tss_id ""TSS1"";"'#input stringtemp_ID.append((re.search(r'(exon_number\s""\d"")',k).group(1)))print temp_ID>['exon_number ""2""']desired_output = ['2']我希望輸出只是兩者之間的值," " 因?yàn)樗梢允且晃粩?shù)字/兩位數(shù)字,所以我不能選擇[-3]位置讓我知道是否需要其他說(shuō)明
3 回答

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
您只需要移動(dòng)括號(hào)即可
temp_ID.append((re.search(r'exon_number\s""(\d)""',k).group(1)))
但是,如果您想捕獲兩位數(shù),可以將其更改為
temp_ID.append((re.search(r'exon_number\s""(\d+)""',k).group(1)))
編輯:為澄清起見(jiàn),每組括號(hào)將是您以后可以訪問(wèn)的一組,\d+
這意味著它將匹配1個(gè)或多個(gè)數(shù)字

拉丁的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以在后面使用:
temp_ID.append((re.search(r'(?<=exon_number\s"")\d{1,2}',k).group(0)))
往后看不要吃字符,您不會(huì)在比賽中找到它們。
添加回答
舉報(bào)
0/150
提交
取消