Страница 10 из 13

Добавлено: Пн сен 28, 2020 14:50
mitrich
Подскажите, пожалуйста, как проще всего поставить точку после первых двух символов в названиях файлов?
То есть из "12Привет" получить "12.Привет"

Добавлено: Пн сен 28, 2020 15:54
Aquila
Search for: (..)
Replace with $1.

Добавлено: Вт сен 29, 2020 05:38
Avada
mitrich
Проще всего в инструменте группового переименования без всяких регулярных выражений указать в поле для маски имени: [N1-2].[N3-]

Добавлено: Вт сен 29, 2020 10:01
mitrich
Aquila, Avada
Спасибо!! Да, я глубоко полез(

Регулярное выражение для имени файла

Добавлено: Вт окт 27, 2020 12:09
N1Tron1X
Нужно составить регулярное выражение для переименования файлов и папок следующего вида:

1. Папка
АБВГ.123456.789 Кабель питания
АБВГ.123456.789-01 Кабель питания
АБВГ.123456.789-001 Кабель питания
2. Файлы
АБВГ.123456.789_СБ Кабель питания.pdf
АБВГ.123456.789_СП Кабель питания.pdf
АБВГ.123456.789_ВП Кабель питания.pdf
АБВГ.123456.789-01_СБ Кабель питания.pdf
АБВГ.123456.789-01_СП Кабель питания.pdf
АБВГ.123456.789-01_ВП Кабель питания.pdf
АБВГ.123456.789-001_СБ Кабель питания.pdf
АБВГ.123456.789-001_СП Кабель питания.pdf
АБВГ.123456.789-001_ВП Кабель питания.pdf

Цель регулярного выражения - использование при групповом переименовании файлов для смены децимального номера, т.е. АБВГ.123456.789 --> ДЕЖЗ.234567.890.

Составил выражение

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

\W{4}\.\d{6}\.\d{3}
но оно работает только для файлов, а при попытке использовать его для папки не находит совпадений.

Если из выражения вырезать \.\d{3} , то совпадения находятся, но в имени папки остаётся .789.

Помогите составить универсальное регулярное выражение.

Добавлено: Вт окт 27, 2020 12:41
Avada
N1Tron1X
Создавать для каждого запроса по регулярным выражениям отдельную тему — слишком большая роскошь. Пока что перенесено по принадлежности в общую тему по регуляркам. И не уверен, что папки/файлы тут единственнная проблема. Составленное вами выражение — это просто произвольный набор символов в общем виде, разбитых на группы точками. Удалить их, предположим, легко. Но менять их вы их с наращиванием букв и цифр на что-то другое как собираетесь?

Добавлено: Вт окт 27, 2020 13:58
sa
N1Tron1X писал(а):для папки не находит совпадений.
Может, в диалоге группового переименования, галка для [E] "Заменять также в расширениях файлов", напрасно убрана?

Добавлено: Вт окт 27, 2020 16:53
N1Tron1X
sa
Да, Вы правы! Не думал, что эта галка может сыграть роль при переименовании папок, которые не имеют расширения.

Рабочая регулярка, если кому понадобится

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

^\W{4}(.*)\d
*в имени файлов/папок не должно быть цифр после децимального номера

Спасибо!

Добавлено: Вт окт 27, 2020 17:23
Avada
N1Tron1X
Во-первых, рабочая регулярка — для чего? При нормальном использовании в ИГП регулярные выражения позволяют вот именно что выполнять переименование от и до, ваши (что то, что другое) этого не делают. Кому и для чего она может понадобиться, не подскажете? Выше уже задавался вопрос, который вы успешно проигнорировали.
Во-вторых, извольте нормально оформлять цитаты: кнопкой "цитата" надо уметь пользоваться. Излишества убраны (в данном случае цитата вообще не нужна).
Что касается самого вопроса, то менять умолчальное состояние опций, не разобравшись как следует в их смысле, никогда не следует, а к расширению в папках приравнивается то, что идёт после последней точки.

Добавлено: Вт окт 27, 2020 18:48
sa
Avada писал(а):выполнять переименование от и до
Задача сводится к разовой замене децимального номера для группы файлов и папок: регулярка вводится в поле "Найти:", а новый децимальный номер в поле "Заменить на:".

Добавлено: Вт окт 27, 2020 20:14
Avada
sa
Возможно, но если, согласно примеру, точный исходный децимальный номер меняется на точный другой номер, то так ли здесь необходимы регулярные выражения? Во всяком случае, из сообщённых условий другой трактовки ситуации не видно. И есть предложение дальше за автора запроса то, что ему надо, не придумывать. Захочет отвечать — сам ответит. Не захочет — его дело, тем более что исходная проблема с выключенной опцией исчерпана.

Требуется РВ для группового переименования каталогов

Добавлено: Ср июл 14, 2021 18:27
ToniZa
Условия:

Есть набор каталогов, созданных по одинаковому принципу: - Составление нескольких слов вместе, в слитное написание. Причем каждое слово начинается со Строчной буквы. Буквы могут применяться смешанные - как латиница, так и кириллица. Т.е название каталога может иметь (обобщенно!) следующий вид:

ProjectTypeАвторNoName. При этом длина названия (общее кол-во символов в названии) не регламентированно. Т.е условно может быть любым.

Задача - написать РВ, позволяющее переименовывать эти названия в следующий вид:

Project_Type_Автор_No_Name
Т.е - перед каждой Строчной буквой, должно появиться подчеркивание, НО - его не должно быть в конце названия и в начале, соответственно

Добавлено: Ср июл 14, 2021 22:14
CaptainFlint
ToniZa
Регулярное выражение.
Найти: (?-i)\B[A-ZА-ЯЁ]
Заменить на: _$0

Побочный эффект: заменяться не будет не только в начале слова, а ещё и после пробела, но насколько я понял, в исходных именах пробелов всё равно нет.
Также непонятно, что имеется в виду под "в конце названия". Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце.

Добавлено: Чт июл 15, 2021 11:08
ToniZa
CaptainFlint писал(а):ToniZa
...насколько я понял, в исходных именах пробелов всё равно нет.
Да, правильно - нет.
Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце.
Просто я пытался сам решить эту задачу и, судя по всему, заходил "не с той стороны". Вот и предупредил, "на всякий случай".

Поиск-замена с регэксп.

Добавлено: Сб янв 22, 2022 16:05
zoog
Привет.
Пытаюсь повторить простое действие из хэлпа: замену типа "автор - год - альбом - трэк" на "год автор".
(.*) - (.*) - (.*) - (.*) --- $2 $1
В простейшем случае, когда формат постоянен - работает, но если присутствует разное число полей - то всё рушится. Как я понял, нумерация полей произврдится с последнего, а мне надо перетасовать первые.
Это решаемо или багофича регэкспов?
Тиа.