Regex и Unicode

У меня есть скрипт, который анализирует имена телевизионных эпизодов (например, show.name.s01e02.avi), извлекает название эпизода (из API www.thetvdb.com) и автоматически переименовывает их во что-то более приятное (Показать имя - [01x02 ] .avi)

Сценарий работает нормально, пока вы не попытаетесь использовать его для файлов, которые имеют отображаемые имена в Юникоде (о чем я никогда не задумывался, так как все файлы, которые у меня есть, являются английскими, так что в основном все они находятся внутри)[a-zA-Z0-9'\-]

Как я могу разрешить регулярным выражениям совпадать с акцентными символами и лайками? В настоящее время регулярное выражениесекция конфигурации s выглядит как ..

config['valid_filename_chars'] = """0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@£$%^&*()_+=-[]{}"'.,`~? """
config['valid_filename_chars_regex'] = re.escape(config['valid_filename_chars'])

config['name_parse'] = [
    # foo_[s01]_[e01]
    re.compile('''^([%s]+?)[ \._\-]\[[Ss]([0-9]+?)\]_\[[Ee]([0-9]+?)\]?[^\\/]*''% (config['valid_filename_chars_regex'])),
    # foo.1x09*
    re.compile('''^([%s]+?)[ \._\-]\[?([0-9]+)x([0-9]+)[^\\/]*'' % (config['valid_filename_chars_regex'])),
    # foo.s01.e01, foo.s01_e01
    re.compile('''^([%s]+?)[ \._\-][Ss]([0-9]+)[\.\- ]?[Ee]([0-9]+)[^\\/]*'' % (config['valid_filename_chars_regex'])),
    # foo.103*
    re.compile('''^([%s]+)[ \._\-]([0-9]{1})([0-9]{2})[\._ -][^\\/]*'' % (config['valid_filename_chars_regex'])),
    # foo.0103*
    re.compile('''^([%s]+)[ \._\-]([0-9]{2})([0-9]{2,3})[\._ -][^\\/]*'' % (config['valid_filename_chars_regex'])),
]

Ответы на вопрос(4)

Ваш ответ на вопрос