Используя Caliber, выяснение выражений RegEx. Настройка метаданных из имени файла
Я пытаюсь использовать Caliber на моем Mac для организации библиотеки электронных книг.
В качестве летнего личного проекта я создал различные эпабы школьных отчетов моих племянников и племянниц на память для компьютера и телефона. Я пометил файлы как: Title_Last Name, First Name.epub
Например: отчет по ATP Cycle_Doe, John.epub
С помощью Caliber я нашел, что вы можете настроить метаданные из имени файла: Ссылка
Например:
(?P<title>.+) - (?P<author>[^_]+)
Будет работать только если имя файла было: Заголовок - Имя Фамилия.epub
Я старался:
(?P<title>.+)[^\w](?P<author>[^_]+)
И это возвратило бы название как: Отчет о Доу Цикла ATP,
А автор как: Джон
Может ли кто-нибудь помочь мне разобраться в выражении RegEx, чтобы извлечь заголовок и автора из соглашения об именах файлов, которое я использовал?
Таков заголовок: Отчет по циклу АТФ
И автор: Джон Доу
Это высоко ценится.
1 ответ
Использовать этот:
^(?P<title>[^_]+)_(?P<author>.*)\.epub$
В демонстрации Regex посмотрите на названные группы на правой панели.
объяснение
^
якорь утверждает, что мы находимся в начале строки(?P<title>[^_]+)
захватывает символы, которые не являются подчеркиванием кtitle
группа захвата(?P<author>.*)
захватывает любые символы вauthor
группа захвата\.epub
Матчи.epub
$
якорь утверждает, что мы находимся в конце строки
варьирование
Если по какой-то причине регулярное выражение не должно соответствовать .epub
расширение, используйте это вместо:
^(?P<title>[^_]+)_(?P<author>[.^]+)