К ТСКВ: примеры регулярных выражений

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Как часто вы пользуетесь регулярными выражениями (RegEx)?

Раз в день
36
34%
Раз в неделю
20
19%
Раз в месяц
29
27%
А что это такое?
21
20%
 
Всего голосов: 106

NordicSaga
Сообщения: 14
Зарегистрирован: Пт апр 07, 2017 01:06
Откуда: Камчатка

Сообщение NordicSaga »

Нет, не надо.

Мне бы хотелось, чтобы дали ответ на поставленный вопрос простым понятным языком, желательно с примерами и скринами. Сам я не смогу разобраться в премудростях составления таких поисковых запросов. Или этот форум только для профессиональных пользователей с соответствующей подготовкой?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Мои разъяснения касались совсем не составления регулярных выражений, и никакие примеры для этого не требуются.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
NordicSaga
Сообщения: 14
Зарегистрирован: Пт апр 07, 2017 01:06
Откуда: Камчатка

Сообщение NordicSaga »

Хорошо, еще раз все перечитаю.
Спасибо.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

NordicSaga
Поскольку TC ищет дубликаты среди файлов, а не каталогов, то можно попробовать решить задачу, создав во временной папке (в примере это C:\Temp) каталоги LL и MP3, в которых вместо папок будут расположены файлы с такими же именами. Я воспользовался для этой цели тем, что оказалось под рукой – плагином DiskDir Extended. Операция упаковки файлов (Alt+F5) с помощью этого архиваторного плагина позволила без труда решить задачу трансформации имён папок в имена файлов.
Для поиска дубликатов по началу названий альбомов можно использовать, например, Script Content Plugin.
В папке плагина создать файл albom.vbs:

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

Set RegEx = New RegExp
RegEx.Pattern = "(^.+_\d{4} - ).+"
Content = RegEx.Replace(FileName, "$1")
Настроить ini-файл плагина:

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

[Script]
Section=albom
[albom]
LongName=0
ParseDirs=1
Script=albom.vbs
В поиске файлов (Alt+F7) на вкладке Дополнительно в поле по данным плагинов: указать [=script.Result]. После вывода файлов на панель удобно пользоваться диалогом выделения дубликатов (Num +). Приведённое на скрине выделение файлов в правой панели можно получить с помощью команд cm_CopyNamesToClip (копировать имена файлов в буфер) в панели с результатами поиска и cm_LoadSelectionFromClip (загрузить выделение из буфера) в папке LL.
NordicSaga
Сообщения: 14
Зарегистрирован: Пт апр 07, 2017 01:06
Откуда: Камчатка

Сообщение NordicSaga »

sa, спасибо. Обязательно попробую ваш вариант, как только появится время.
Baltazar
Сообщения: 67
Зарегистрирован: Чт окт 01, 2015 17:02

Сообщение Baltazar »

Не знаю насколько в тему (если написал не туда перенесите), но решил отписаться здесь.

Недавно возникла ситуация, когда надо было найти файлы без расширений, мне в этом помогла регулярка ^([^.]+)$ . Возможно кому-нибудь пригодится :)

Если есть лучшее решение данной проблемы - напишите, возьму на вооружение.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Baltazar
Не нужны тут регулярки: *.
И, кстати, круглые скобки в выражении лишние. Атрибут "Каталог", естественно, должен быть снят.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Baltazar
Если вовсе без поиска (как вариант, в виде без подкаталогов), то установить в файловой панели сортировку по типу и/или нажать Alt+Num+ на файле без расширения.
Baltazar
Сообщения: 67
Зарегистрирован: Чт окт 01, 2015 17:02

Сообщение Baltazar »

Flasher, действительно, это работает, спасибо.

p.s. С тем что скобки лишние - согласен ;)

sa, имхо это не самыйл лучший вариант, если файлов пара десятков тысяч.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Baltazar
Правила форума надо соблюдать постоянно, а не от случая к случаю.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
mr_aleks
Сообщения: 16
Зарегистрирован: Вт июн 07, 2016 00:46
Откуда: Minsk

Сообщение mr_aleks »

Возможно не туда напишу.
Вопрос, как в строке вида
cd \\server\share /user:admin
задать еще и пароль? я понимаю, что это не безопасно, но это лишь для себя
В справке сказано:
С помощью параметра /user: (в нижнем регистре!) можно задать логин/пароль для соединения с сетевым каталогом.
Пример: cd \\сервер\каталог /user:имя_пользователя
Как это сделать?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

mr_aleks
Во-первых, эта цитата не из справки, а, насколько понимаю, отсюда. Там неточность, которая в дальнейшем при переработке таблиц была устранена (но более новая версия этой странички пока не выложена): в команде указывается только логин, пароль вводится потом вручную.
Во-вторых, в том, что это лютый оффтоп, не имеющий к теме вообще никакого отношения, не должно быть никаких сомнений. Что делать, если вы не знаете, куда писать, в правилах сказано. Замечание за нарушение правил форума (далеко не первое).
Даже самая богатая фантазия
Не представит себе наши безобразия.
videoDVDkhv
Сообщения: 1
Зарегистрирован: Пн июн 05, 2017 07:43

Сообщение videoDVDkhv »

Не могу найти записанный на своем компе лицензионный ключ вида DGBMHUFPHEE-9188. Как записать ЭТО в виде регулярных выражений и попробовать найти в Total Commander?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

videoDVDkhv
[A-Z]{11}-\d{4}
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Ostap Fender
Сообщения: 35
Зарегистрирован: Пн июн 19, 2017 16:21

Сообщение Ostap Fender »

Помогите пожалуйста с регулярными выражениями для группового переименования.
1. Начало слов с заглавной, не изменяя слова, в которых минимум 2 заглавных буквы находятся рядом.
(понимаю, что в данном условии есть свои "подводные камни", но в 90% случаев для моих нужд условие подходящее).
Примеры:
WWW putin FX переименовать в WWW Putin FX.
tramp uRod (EE) переименовать в Tramp Urod (EE).
2. Убрать в названии все символы, находящиеся до символа, расположенного после первого пробела (включая и сам пробел(пробелы, если их несколько) не пытаясь изменить названия файлов, в которых первый пробел стоит перед точкой, разделяющей имя и расширение файла - чтобы не вылезло предупреждение.
Пример:
"123аре ллл.тхт" переименовать в "ллл.тхт".
"ук_3ук ууу.wav" переименовать в "ууу.wav".
"еее .ехе" - не пытаться изменить.
Поиск.
Что указать в маске поиска, чтобы найти файлы и папки, в названии которых содержатся запрещённые символы для именования файлов Windows. (такое встречается в архивах .NKX - подробности опустим).
Ответить