Есть ли способ дополнить однозначные числа 0 с помощью регулярных выражений?
Я использую Python.
Примеры:
- 6 => 06
- 1 => 01
и т.п.
Вот над чем я работаю: https://regex101.com/r/iG9qC7/1
Я хотел бы, чтобы все имена файлов имели одинаковый формат.
Есть ли способ дополнить однозначные числа 0 с помощью регулярных выражений?
Я использую Python.
Примеры:
и т.п.
Вот над чем я работаю: https://regex101.com/r/iG9qC7/1
Я хотел бы, чтобы все имена файлов имели одинаковый формат.
Это просто использует функцию подстановки регулярных выражений и строковую функцию zfill
внутри функции обратного вызова.
import re
a = """Hello 1 of 60
Hello.22.of.60.
Hello 33of60
Hello.44of60.
Hello 1 of 6
Hello.2.of.6.
Hello 3of6
Hello.04of6.""".splitlines()
def F(m):return r' S01E%s'%m.group(1).zfill(2)
print '\n'.join([re.sub(r'\D(\d+).*', F, x, 1)for x in a])
Выход:
Hello S01E01
Hello S01E22
Hello S01E33
Hello S01E44
Hello S01E01
Hello S01E02
Hello S01E03
Hello S01E04
Или, если вы хотите сохранить второе число, небольшая разница:
print '\n'.join([re.sub(r'\D(\d+).*?(\d+).*', lambda m:r' S01E%s of %s'%(m.group(1).zfill(2),m.group(2).zfill(2)), x)for x in a])
Выход:
Hello S01E01 of 60
Hello S01E22 of 60
Hello S01E33 of 60
Hello S01E44 of 60
Hello S01E01 of 06
Hello S01E02 of 06
Hello S01E03 of 06
Hello S01E04 of 06