Я использую инструмент передачи файлов, который позволяет использовать Регулярное выражение для переименования файлов, когда они копируются в новую папку (поэтому я работаю только с Регулярным выражением, а не внутри базы кода). У меня есть большой наборфайлы с определенным соглашением об именах с номером версии в конце имени файла.Моя цель - удалить номер версии этого файла вместе с подчеркиванием.
Вот несколько примеров имен файлов:
the_file_name_DS_017_EN_35.pdf
the_file_name_DS_037_SP_35.pdf
different_filename_DS_EN_5.pdf
Я хочу изменить их на:
the_file_name_DS_017_EN.pdf
the_file_name_DS_037_SP.pdf
different_filename_DS_EN.pdf
Я пытаюсь удалить номер версии, чтобы соглашение об именовании файлов на моем новом сервере всегда было одинаковым.Я не очень хорошо разбираюсь в regex, и это то, что я пробовал до сих пор, но безрезультатно:
Используя _[^_]+$
, он выбирает последнее подчеркивание вместе с расширением .pdf
.
Используя \_(.*?)\.
он выбирает первое подчеркивание до точки.
Как выбрать последнее подчеркивание до точки, удаляя этот текст, но сохраняя точку?Может быть, есть лучший метод?Заранее спасибо!