2013-11-09 2 views
0

Я изо всех сил пытаюсь создать выражение регулярных выражений для моей программы python.Создание Regex для имени файла (python)

мне нужно проверить, если файлы в папке после этого формата:

TvShowName.SxxExx.Title.fileextension

Где "SxxExx" означает сезон номер Эпизод номер

Например:

Dexter. S01E01. Монстр. mp4

The Mentalist. S03E05. Red Lay. mp4

Может кто-то помочь мне «обобщать» это имена файлов, так что я могу проверить их?

Спасибо

+0

Я использую этот сайт: https://pythex.org/, но все, что я время не работает. Никогда не работал с регулярными выражениями настолько сложными. – Con7e

ответ

0

что-то вроде этого, с помощью именованных захватив группы:

>>> import re 
>>> r = re.compile(r'(?P<name>[^.]+)\.S(?P<S>\d+)E(?P<E>\d+)\.(?P<title>[^.]+)\.(?P<ext>.*)') 
>>> r.search('Dexter.S01E01.The Monster.mp4').groupdict() 
{'ext': 'mp4', 'title': 'The Monster', 'E': '01', 'S': '01', 'name': 'Dexter'} 
>>> r.search('The Mentalist.S03E05.Red Lay.mp4').groupdict() 
{'ext': 'mp4', 'title': 'Red Lay', 'E': '05', 'S': '03', 'name': 'The Mentalist'} 

Regex объяснение: http://regex101.com/r/gG9nK2

+1

О, боже, спасибо тебе! Это то, что я искал :) – Con7e

Смежные вопросы