View previous topic :: View next topic |
Как часто вы пользуетесь регулярными выражениями (RegEx)? |
Раз в день |
|
33% |
[ 34 ] |
Раз в неделю |
|
18% |
[ 19 ] |
Раз в месяц |
|
27% |
[ 28 ] |
А что это такое? |
|
19% |
[ 20 ] |
|
Total Votes : 101 |
|
Author |
Message |
mitrich
Joined: 21 Jan 2005 Posts: 2 Location: Белгород
|
(Separately) Posted: Mon Sep 28, 2020 15:50 Post subject: |
|
|
Подскажите, пожалуйста, как проще всего поставить точку после первых двух символов в названиях файлов?
То есть из "12Привет" получить "12.Привет" |
|
Back to top |
|
|
Aquila
Joined: 22 Sep 2016 Posts: 35
|
(Separately) Posted: Mon Sep 28, 2020 16:54 Post subject: |
|
|
Search for: (..)
Replace with $1. _________________ «Two things are infinite: the universe and the human stupidity.
... and a'm not so sure about the universe». Albert Einstein |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Tue Sep 29, 2020 06:38 Post subject: |
|
|
mitrich
Проще всего в инструменте группового переименования без всяких регулярных выражений указать в поле для маски имени: [N1-2].[N3-] _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
mitrich
Joined: 21 Jan 2005 Posts: 2 Location: Белгород
|
(Separately) Posted: Tue Sep 29, 2020 11:01 Post subject: |
|
|
Aquila, Avada
Спасибо!! Да, я глубоко полез( |
|
Back to top |
|
|
N1Tron1X
Joined: 27 Oct 2020 Posts: 2
|
(Separately) Posted: Tue Oct 27, 2020 13:09 Post subject: Регулярное выражение для имени файла |
|
|
Нужно составить регулярное выражение для переименования файлов и папок следующего вида:
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.
Составил выражение Code: | \W{4}\.\d{6}\.\d{3} | но оно работает только для файлов, а при попытке использовать его для папки не находит совпадений.
Если из выражения вырезать \.\d{3} , то совпадения находятся, но в имени папки остаётся .789.
Помогите составить универсальное регулярное выражение. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Tue Oct 27, 2020 13:41 Post subject: |
|
|
N1Tron1X
Создавать для каждого запроса по регулярным выражениям отдельную тему — слишком большая роскошь. Пока что перенесено по принадлежности в общую тему по регуляркам. И не уверен, что папки/файлы тут единственнная проблема. Составленное вами выражение — это просто произвольный набор символов в общем виде, разбитых на группы точками. Удалить их, предположим, легко. Но менять их вы их с наращиванием букв и цифр на что-то другое как собираетесь? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Tue Oct 27, 2020 14:58 Post subject: |
|
|
N1Tron1X wrote: | для папки не находит совпадений. |
Может, в диалоге группового переименования, галка для [E] "Заменять также в расширениях файлов", напрасно убрана? |
|
Back to top |
|
|
N1Tron1X
Joined: 27 Oct 2020 Posts: 2
|
(Separately) Posted: Tue Oct 27, 2020 17:53 Post subject: |
|
|
sa
Да, Вы правы! Не думал, что эта галка может сыграть роль при переименовании папок, которые не имеют расширения.
Рабочая регулярка, если кому понадобится
*в имени файлов/папок не должно быть цифр после децимального номера
Спасибо! |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Tue Oct 27, 2020 18:23 Post subject: |
|
|
N1Tron1X
Во-первых, рабочая регулярка — для чего? При нормальном использовании в ИГП регулярные выражения позволяют вот именно что выполнять переименование от и до, ваши (что то, что другое) этого не делают. Кому и для чего она может понадобиться, не подскажете? Выше уже задавался вопрос, который вы успешно проигнорировали.
Во-вторых, извольте нормально оформлять цитаты: кнопкой "цитата" надо уметь пользоваться. Излишества убраны (в данном случае цитата вообще не нужна).
Что касается самого вопроса, то менять умолчальное состояние опций, не разобравшись как следует в их смысле, никогда не следует, а к расширению в папках приравнивается то, что идёт после последней точки. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Tue Oct 27, 2020 19:48 Post subject: |
|
|
Avada wrote: | выполнять переименование от и до |
Задача сводится к разовой замене децимального номера для группы файлов и папок: регулярка вводится в поле "Найти:", а новый децимальный номер в поле "Заменить на:". |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10275 Location: Россия, Саратов
|
(Separately) Posted: Tue Oct 27, 2020 21:14 Post subject: |
|
|
sa
Возможно, но если, согласно примеру, точный исходный децимальный номер меняется на точный другой номер, то так ли здесь необходимы регулярные выражения? Во всяком случае, из сообщённых условий другой трактовки ситуации не видно. И есть предложение дальше за автора запроса то, что ему надо, не придумывать. Захочет отвечать — сам ответит. Не захочет — его дело, тем более что исходная проблема с выключенной опцией исчерпана. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
ToniZa
Joined: 01 Apr 2020 Posts: 11
|
(Separately) Posted: Wed Jul 14, 2021 19:27 Post subject: Требуется РВ для группового переименования каталогов |
|
|
Условия:
Есть набор каталогов, созданных по одинаковому принципу: - Составление нескольких слов вместе, в слитное написание. Причем каждое слово начинается со Строчной буквы. Буквы могут применяться смешанные - как латиница, так и кириллица. Т.е название каталога может иметь (обобщенно!) следующий вид:
ProjectTypeАвторNoName. При этом длина названия (общее кол-во символов в названии) не регламентированно. Т.е условно может быть любым.
Задача - написать РВ, позволяющее переименовывать эти названия в следующий вид:
Project_Type_Автор_No_Name
Т.е - перед каждой Строчной буквой, должно появиться подчеркивание, НО - его не должно быть в конце названия и в начале, соответственно _________________ ToniZa - |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Jul 14, 2021 23:14 Post subject: |
|
|
ToniZa
Регулярное выражение.
Найти: (?-i)\B[A-ZА-ЯЁ]
Заменить на: _$0
Побочный эффект: заменяться не будет не только в начале слова, а ещё и после пробела, но насколько я понял, в исходных именах пробелов всё равно нет.
Также непонятно, что имеется в виду под "в конце названия". Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
ToniZa
Joined: 01 Apr 2020 Posts: 11
|
(Separately) Posted: Thu Jul 15, 2021 12:08 Post subject: |
|
|
CaptainFlint wrote: | ToniZa
...насколько я понял, в исходных именах пробелов всё равно нет.
|
Да, правильно - нет.
Quote: | Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце. |
Просто я пытался сам решить эту задачу и, судя по всему, заходил "не с той стороны". Вот и предупредил, "на всякий случай". _________________ ToniZa - |
|
Back to top |
|
|
zoog
Joined: 20 Nov 2012 Posts: 7
|
(Separately) Posted: Sat Jan 22, 2022 17:05 Post subject: Поиск-замена с регэксп. |
|
|
Привет.
Пытаюсь повторить простое действие из хэлпа: замену типа "автор - год - альбом - трэк" на "год автор".
(.*) - (.*) - (.*) - (.*) --- $2 $1
В простейшем случае, когда формат постоянен - работает, но если присутствует разное число полей - то всё рушится. Как я понял, нумерация полей произврдится с последнего, а мне надо перетасовать первые.
Это решаемо или багофича регэкспов?
Тиа. |
|
Back to top |
|
|
|