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 

Регулярные выражения: сохранение расширения

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Nov 27, 2009 21:53    Post subject: Регулярные выражения: сохранение расширения Reply with quote

Есть файлы типа
Code:

IMG_0075.jpg
IMG_0078.jpg
IMG_0084.jpg
IMG_0526.jpg
Изображение 367.jpg
Изображение в2.jpg
Изображение в4.jpg
Требуется удалить "буквенную" часть имени, то есть получить
Code:
0075.jpg
0078.jpg
0084.jpg
0526.jpg
367.jpg
2.jpg
4.jpg

Поле "Search for" (multirename tool), равное \D, решает проблему имен, но удаляет расширения. В справке сказано "Replace a string in the name with a different string", то есть заменять можно только в имени, или нет? Как избавиться от замены расширения, "натравив" регулярные выражения только на имя?

Проблему я решил в два шага - сначала переименовал, получив файлы без расширений, затем вернул расширение. Есть ли однопроходное решение?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Fri Nov 27, 2009 22:41    Post subject: Reply with quote

В этом контексте имя — это имя+расширение. Поэтому его тоже учитываем. Если буквенная и численная части всегда в таком порядке, то
Найти: (\D)+(\d+\..+)
Заменить: $2
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Nov 27, 2009 22:44    Post subject: Reply with quote

Вахмурка
Найти: (\..+)|\D
Заменить: $1
Rodny
Проверь ЛС
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Nov 27, 2009 22:50    Post subject: Reply with quote

2Rodny: Странно, но твой вариант не работает.
2Tol!k: Спасибо, работает.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Nov 27, 2009 22:55    Post subject: Reply with quote

Вахмурка wrote:
2Rodny: Странно, но твой вариант не работает.
Работает, и похоже более правильный — мой оставит всё после первой же точки.
Хотя, как и предупреждал Rodny, его вариант вообще не сработает в случае Изображение 367<нецифра>.jpg
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Fri Nov 27, 2009 23:05    Post subject: Reply with quote

Вахмурка
Может пробел где затесался?
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Nov 27, 2009 23:07    Post subject: Reply with quote

Вахмурка
У меня работает. Возможно, в одну из строк случайно затесался конечный пробел.
Ой, опередили... Embarassed
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Fri Nov 27, 2009 23:15    Post subject: Reply with quote

Tol!k
Во, блин, я и не подозревал, что там можно регэкспы комбинировать с тоталовским "|"

Avada
Прикольно, теми же словами Laughing
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Nov 27, 2009 23:34    Post subject: Reply with quote

Да, работает. Всем спасибо. Хотя уже поздно, но на будущее, да и другим - пригодится.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Nov 27, 2009 23:41    Post subject: Reply with quote

Rodny wrote:
Во, блин, я и не подозревал, что там можно регэкспы комбинировать с тоталовским "|"
В "Заменить" не получится вставить два варианта. Только в "Найти"
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Mon Nov 30, 2009 01:12    Post subject: Reply with quote

Буквы строго в начале файла?
Найти: ^\D+
Заменить: <Пусто>
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
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
Page 1 of 1

 
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