我试图从文件名中提取带有定界符的数字(用于版本检查)。我的文件名为filename= bacserv.v1.2.6
和not 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']
答案 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))