Как извлечь числа с разделителем из строки? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь извлечь числа с разделителями из имени файла (для проверки версии).У меня есть имя файла 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']

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

используйте re.search с немного другим рисунком:

import re
match = re.search('\d+.\d+.\d+', 'bacserv.v1.2.6')
if match:
   version = match.group()
0 голосов
/ 12 октября 2018

Как насчет следующего?Предполагая, что номер версии всегда следует за «.v» в имени файла:

import re
m = re.search('(\.v)([\d\.]+)', 'bacserv.v1.2.6')
print(m.group(2))
0 голосов
/ 12 октября 2018

Вы можете сделать еще один шаг к своим регулярным выражениям и применить '.'.join(matches)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...