如何从字符串中使用定界符提取数字?

时间:2018-10-11 21:58:56

标签: python string python-3.x delimiter

我试图从文件名中提取带有定界符的数字(用于版本检查)。我的文件名为filename= bacserv.v1.2.6not with quotes ('')。我正在按以下方式使用RegEx,但是RegEx将输入作为带有引号的'bacserv.v1.2.6'。我的预期输出是1.2.6"1.2.6"。有人可以帮忙吗?

import re
matches = re.findall('\d+', 'bacserv.v1.2.6')
print(matches)

输出:

['1', '2', '6']

3 个答案:

答案 0 :(得分:2)

以略有不同的模式使用re.search:

import re
match = re.search('\d+.\d+.\d+', 'bacserv.v1.2.6')
if match:
   version = match.group()

答案 1 :(得分:1)

您可以使正则表达式结果更进一步,然后应用'.'.join(matches)

答案 2 :(得分:1)

以下内容如何?假定版本号始终在文件名中跟随“ .v”:

import re
m = re.search('(\.v)([\d\.]+)', 'bacserv.v1.2.6')
print(m.group(2))