Как получить разные группы из регулярного выражения Python?Python

Программы на Python
Ответить
Anonymous
 Как получить разные группы из регулярного выражения Python?

Сообщение Anonymous »

Я хотел бы получить различную дополнительную информацию из имен файлов. Вот несколько примеров ввода регулярных выражений:
  • Код: Выделить всё

    Movie1 2025-moreinfo1.mkv
    - здесь я хотел бы получить эти группы: ['Movie1', '2025', 'moreinfo1', 'mkv']
  • Код: Выделить всё

    Movie2-moreinfo2.mkv
    - здесь я хотел бы получить следующие группы: ['Movie2', None, 'moreinfo2', 'mkv']
  • Код: Выделить всё

    Movie3 2024.mpeg
    - здесь я хотел бы получить эти группы: ['Movie3', '2024', None, 'mpeg']
  • Код: Выделить всё

    Movie4.mkv
    - здесь я хотел бы получить эти группы: ['Movie4', None, None, 'mkv']
Таким образом, группы 2025 и moreinfos не являются обязательными, но если они существуют, они должны быть в отдельной группе.
Я попробовал это с Python и этим регулярным выражением:

Код: Выделить всё

"^(.+)( \d{4})?(-.+)?\.(\S{3,4}$)"
но он всегда слишком жадный, и группа захватывает все.
Может кто-нибудь помочь мне с этим регулярным выражением для Python?

Подробнее здесь: https://stackoverflow.com/questions/798 ... thon-regex
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»