为了账号安全,请及时绑定邮箱和手机立即绑定

出现后提取数字字符?

出现后提取数字字符?

眼眸繁星 2021-03-25 14:08:44
我有一个字符串,我想提取在““ X ”“两个括号之间的exon_number我使用re.search查找'exon_number'的出现,但我不想在最终输出中包括字符串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']我希望输出只是两者之间的值," " 因为它可以是一位数字/两位数字,所以我不能选择[-3]位置让我知道是否需要其他说明
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您只需要移动括号即可

temp_ID.append((re.search(r'exon_number\s""(\d)""',k).group(1)))

但是,如果您想捕获两位数,可以将其更改为

temp_ID.append((re.search(r'exon_number\s""(\d+)""',k).group(1)))

编辑:为澄清起见,每组括号将是您以后可以访问的一组,\d+这意味着它将匹配1个或多个数字


查看完整回答
反对 回复 2021-03-30
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

您可以在后面使用:

temp_ID.append((re.search(r'(?<=exon_number\s"")\d{1,2}',k).group(0)))

往后看不要吃字符,您不会在比赛中找到它们。


查看完整回答
反对 回复 2021-03-30
  • 3 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信