Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

К ТСКВ: примеры регулярных выражений
Goto page Previous  1, 2, 3 ... 9, 10, 11, 12  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  

Как часто вы пользуетесь регулярными выражениями (RegEx)?
Раз в день
33%
 33%  [ 34 ]
Раз в неделю
18%
 18%  [ 19 ]
Раз в месяц
27%
 27%  [ 28 ]
А что это такое?
19%
 19%  [ 20 ]
Total Votes : 101

Author Message
mitrich



Joined: 21 Jan 2005
Posts: 2
Location: Белгород

Post (Separately) Posted: Mon Sep 28, 2020 15:50    Post subject: Reply with quote

Подскажите, пожалуйста, как проще всего поставить точку после первых двух символов в названиях файлов?
То есть из "12Привет" получить "12.Привет"
Back to top
View user's profile Send private message
Aquila



Joined: 22 Sep 2016
Posts: 35

Post (Separately) Posted: Mon Sep 28, 2020 16:54    Post subject: Reply with quote

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
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Sep 29, 2020 06:38    Post subject: Reply with quote

mitrich
Проще всего в инструменте группового переименования без всяких регулярных выражений указать в поле для маски имени: [N1-2].[N3-]
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
mitrich



Joined: 21 Jan 2005
Posts: 2
Location: Белгород

Post (Separately) Posted: Tue Sep 29, 2020 11:01    Post subject: Reply with quote

Aquila, Avada
Спасибо!! Да, я глубоко полез(
Back to top
View user's profile Send private message
N1Tron1X



Joined: 27 Oct 2020
Posts: 2

Post (Separately) Posted: Tue Oct 27, 2020 13:09    Post subject: Регулярное выражение для имени файла Reply with quote

Нужно составить регулярное выражение для переименования файлов и папок следующего вида:

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
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Oct 27, 2020 13:41    Post subject: Reply with quote

N1Tron1X
Создавать для каждого запроса по регулярным выражениям отдельную тему — слишком большая роскошь. Пока что перенесено по принадлежности в общую тему по регуляркам. И не уверен, что папки/файлы тут единственнная проблема. Составленное вами выражение — это просто произвольный набор символов в общем виде, разбитых на группы точками. Удалить их, предположим, легко. Но менять их вы их с наращиванием букв и цифр на что-то другое как собираетесь?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Tue Oct 27, 2020 14:58    Post subject: Reply with quote

N1Tron1X wrote:
для папки не находит совпадений.

Может, в диалоге группового переименования, галка для [E] "Заменять также в расширениях файлов", напрасно убрана?
Back to top
View user's profile Send private message
N1Tron1X



Joined: 27 Oct 2020
Posts: 2

Post (Separately) Posted: Tue Oct 27, 2020 17:53    Post subject: Reply with quote

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

Рабочая регулярка, если кому понадобится
Code:
^\W{4}(.*)\d

*в имени файлов/папок не должно быть цифр после децимального номера

Спасибо!
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Oct 27, 2020 18:23    Post subject: Reply with quote

N1Tron1X
Во-первых, рабочая регулярка — для чего? При нормальном использовании в ИГП регулярные выражения позволяют вот именно что выполнять переименование от и до, ваши (что то, что другое) этого не делают. Кому и для чего она может понадобиться, не подскажете? Выше уже задавался вопрос, который вы успешно проигнорировали.
Во-вторых, извольте нормально оформлять цитаты: кнопкой "цитата" надо уметь пользоваться. Излишества убраны (в данном случае цитата вообще не нужна).
Что касается самого вопроса, то менять умолчальное состояние опций, не разобравшись как следует в их смысле, никогда не следует, а к расширению в папках приравнивается то, что идёт после последней точки.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Tue Oct 27, 2020 19:48    Post subject: Reply with quote

Avada wrote:
выполнять переименование от и до

Задача сводится к разовой замене децимального номера для группы файлов и папок: регулярка вводится в поле "Найти:", а новый децимальный номер в поле "Заменить на:".
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Oct 27, 2020 21:14    Post subject: Reply with quote

sa
Возможно, но если, согласно примеру, точный исходный децимальный номер меняется на точный другой номер, то так ли здесь необходимы регулярные выражения? Во всяком случае, из сообщённых условий другой трактовки ситуации не видно. И есть предложение дальше за автора запроса то, что ему надо, не придумывать. Захочет отвечать — сам ответит. Не захочет — его дело, тем более что исходная проблема с выключенной опцией исчерпана.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
ToniZa



Joined: 01 Apr 2020
Posts: 11

Post (Separately) Posted: Wed Jul 14, 2021 19:27    Post subject: Требуется РВ для группового переименования каталогов Reply with quote

Условия:

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

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

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

Project_Type_Автор_No_Name
Т.е - перед каждой Строчной буквой, должно появиться подчеркивание, НО - его не должно быть в конце названия и в начале, соответственно
_________________
ToniZa -
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Wed Jul 14, 2021 23:14    Post subject: Reply with quote

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

Побочный эффект: заменяться не будет не только в начале слова, а ещё и после пробела, но насколько я понял, в исходных именах пробелов всё равно нет.
Также непонятно, что имеется в виду под "в конце названия". Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
ToniZa



Joined: 01 Apr 2020
Posts: 11

Post (Separately) Posted: Thu Jul 15, 2021 12:08    Post subject: Reply with quote

CaptainFlint wrote:
ToniZa
...насколько я понял, в исходных именах пробелов всё равно нет.

Да, правильно - нет.
Quote:
Если подчёркивание добавляется лишь перед буквой, то оно в принципе не может оказаться в самом конце.

Просто я пытался сам решить эту задачу и, судя по всему, заходил "не с той стороны". Вот и предупредил, "на всякий случай".
_________________
ToniZa -
Back to top
View user's profile Send private message
zoog



Joined: 20 Nov 2012
Posts: 7

Post (Separately) Posted: Sat Jan 22, 2022 17:05    Post subject: Поиск-замена с регэксп. Reply with quote

Привет.
Пытаюсь повторить простое действие из хэлпа: замену типа "автор - год - альбом - трэк" на "год автор".
(.*) - (.*) - (.*) - (.*) --- $2 $1
В простейшем случае, когда формат постоянен - работает, но если присутствует разное число полей - то всё рушится. Как я понял, нумерация полей произврдится с последнего, а мне надо перетасовать первые.
Это решаемо или багофича регэкспов?
Тиа.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 9, 10, 11, 12  Next
Page 10 of 12

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group