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, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  

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

Author Message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Fri Apr 06, 2007 09:28    Post subject: Reply with quote

Ник
Не уверен, но попробуй с такими:
і - B3
ї - BF
є - BA

Quote:
в чём разница с латинским "i" я не знаю, но она есть
Еще бы ее не было. Между латинским "c" и русским "с" разница же есть Smile
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4948

Post (Separately) Posted: Fri Apr 06, 2007 11:33    Post subject: Reply with quote

Ник
1. Попробовать варианты Maximus'а
2. Если не помогло: заархивировать файл WinRAR'ом, посмотреть дамп архива UV в hex режиме. Wink
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Fri Apr 06, 2007 12:02    Post subject: Reply with quote

Alextp
WinRAR при архивировании заменяет буквы "і" и "ґ" на символы подчеркивания. Поэтому не уверен, что что-то можно будет выяснить.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4948

Post (Separately) Posted: Fri Apr 06, 2007 13:28    Post subject: Reply with quote

Maximus, Nick:
как просмотреть коды символов в имени файла:
http://forum.wincmd.ru/viewtopic.php?p=27151#27151
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Ник



Joined: 15 Dec 2004
Posts: 1243
Location: Москва

Post (Separately) Posted: Fri Apr 06, 2007 17:31    Post subject: Reply with quote

Оказалось всё проще - имена файлов - это имена новостей, которые есть в теле файла, HEX-просмотр дал нужный результат.

Итак, I (укр) это B2, причём, если просто копи-паст - то она не заменяется на I (англ), если через HEX - то заменяется.
В то же время, i (укр) через копи-паст почему-то легко заменяется на i (англ).

Копи-паст ессно не напрямую из The Bat в ТК, а через понимающий Уникод текстовый редактор...
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Dec 01, 2009 23:11    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

Ответы:

Rodny:
Найти: (\D)+(\d+\..+)
Заменить: $2

Tol!k:
Найти: (\..+)|\D
Заменить: $1

Моторокер:
Найти: ^\D+
Заменить: <Пусто>

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



Joined: 20 Dec 2004
Posts: 2940
Location: Москва

Post (Separately) Posted: Wed Dec 02, 2009 09:01    Post subject: Reply with quote

Вахмурка
А самому в тихое место выложить что мешает?
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Wed Dec 02, 2009 10:52    Post subject: Reply with quote

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



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Wed Dec 02, 2009 16:55    Post subject: Reply with quote

Для подкованного многие регекспы покажутся примитивными и он не станет их никуда включать. Тут как раз лучше начинающий-середнячок.

по регекспам
Они сработают на данных в примере файлах, но пользователь может обработать ими все файлы в директории в т.ч. не совсем соответствующие примерам, например без цифр в имени, с несколькими точками, с цифрами перемежающимися буквами. Как уже упоминалось в обсуждении пример от Rodny работает перед первой точкой в имени файла - удалит последовательность нецифр перед цифрами с последующей точкой. Имхо первое экранирование в регекспе излишне. Можно убрать первые скобки и менять на $1, результат действия не изменится. Для меня данный регексп не совсем корректен как пример для обучения.
Пример от Tol!k убъёт все нецифры в имени файла оставив от файлов без цифр в имени только расширения.
Пример Моторокер'а удалит первую примыкающую к началу файла нецифровую последовательность, так же убив имена файлов без цифр.
Ещё раз повторю, что для приведённых примеров имён регекспы сработают правильно, но стоило бы составить более безопасное регулярное выражение.
Back to top
View user's profile Send private message
Tol!k



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

Post (Separately) Posted: Thu Dec 03, 2009 00:44    Post subject: Reply with quote

Lev, всё раскритиковал, и ничего не предложил взамен :)
Вахмурка
Самый безопасный вариант, вроде бы, такой (получен из варианта Rodny, как из наиболее безопасного из предложеных)
Найти: ^(\D+)(\d+\..+)
Заменить: $2
=
Найти: ^\D+(\d+\..+)
Заменить: $1
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Thu Dec 03, 2009 12:10    Post subject: Reply with quote

2Lev
Вот такого, как ты, я и имел в виду: ты не только можешь составить рег. выр-е, не только разобрать имеющееся, но и сделать выводы о его "безопасности", "универсальности" и т.д. Мне это пока недоступно (а учитывая то, как редко я ими пользуюсь, таковым и останется). Может, возьмешься? Если мой пример не покажется тебе примитивным, включи его. И вообще поиском по форуму можно много полезного найти. Причем если в интернете есть многое, посвященное рег. выр-ям как таковым, вообще, то здесь следует сосредоточиться на рег. выр-ях в именах файлов (пока бог с ним, с текстом). Постоянно мелькают примеры и вопросы: заменить латинское "с" на русское, " " на "_", и т.д.
_________________
Сайт 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: Thu Dec 03, 2009 15:28    Post subject: Reply with quote

Не делайте из еды^Wрегэкспов культа Smile
Универсальность и безопасность — это хорошо, вопросов нет. К этому надо стремиться.
Но чаще всего задачи имеют ряд дополнительных условий, исходя из которых уже и делается вывод о необходимости тех или иных мер.
Если задача разовая, на ограниченном наборе имён, то особого смысла её оптимизировать нету, имхо.
А если это пойдёт как образец для обучения, то тут уже другое отношение.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Thu Dec 03, 2009 15:55    Post subject: Reply with quote

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



Joined: 20 Dec 2004
Posts: 2940
Location: Москва

Post (Separately) Posted: Thu Dec 03, 2009 16:27    Post subject: Reply with quote

Вахмурка wrote:
По хорошему вопрос к D1P, как к автору всего этого безобразия.

Это будет тем, чем вы это сделаете. Мне тоже ближе концепция учебника, но и готовые решения тоже приветствуются.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Thu Dec 03, 2009 17:39    Post subject: Reply with quote

Имхо для начала вполне достаточно того, что есть в хелпе Тотала. К сожалению сайт автора реализации регулярных выражений использованных Гислером в Тотале линк на который есть в конце странички [s]умер[/s] у меня не открывается, но чего-то можно раскопать через web.archive.org - тут можно почитать чуть более расширенную информация, причём именно по тому движку, что использует Тотал. А тем кто желает продвинуться, я посоветовал бы почитать - Дж. Фридл "Регулярные выражения". Ну и wiki с остальным интернетом в помощь.
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, 4, 5, 6, 7, 8, 9  Next
Page 3 of 9

 
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