Используя 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>[.^]+)
Другие вопросы по тегам