如果一个字符串中的两个数字出现在一个模式之后,是否有一个正则表达式来获取它们?

2024-05-23 21:50:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在字符串中使用表达式source {15}(\d+){2}\n,如下所示

'''
FEATURES             Location
   source               1..2558
                        /organism="name"
                        /mol_type="genomic DNA"
                        /submitter_seqid="scaffold077"
'''

为了得到数字1和2558,它什么也没有返回

我很想知道怎么做


Tags: 字符串namesource表达式type数字locationdna
2条回答

此部分(\d+){2}对匹配1个或多个数字的捕获组重复2次,每个捕获组至少匹配2个数字

您可以捕获组1中的第一个数字,匹配点并捕获组2中的下一个数字,而无需为组使用量词

source {15}(\d+)\.\.(\d+)\n

见a regex demo

您还可以使用零宽度匹配的正面后视,因此它断言但不捕获匹配。 只能匹配' '.后面的数字

(?<= |\.)[0-9]+

相关问题 更多 >