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
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 15:16    Post subject: Reply with quote

Code:
[^a-zA-Zа-яА-Я\s_0-9]

я это пишу в "Поиск с плагинами" и ставлю "Искать только в имени" и "regex"...

Вроде пока работает...
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Wed Apr 04, 2007 15:30    Post subject: Reply with quote

Ник wrote:
я это пишу в "Поиск с плагинами" и ставлю "Искать только в имени" и "regex"...

Ну, можно и так, конечно...
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 19:25    Post subject: Reply with quote

Скажите, плз, как найти все файлы, начинающиеся со строчных букв?

Я пишу следующее:
Code:
^[^A-ZА-Я0-9]

но оно не работает - не ищет ничего Sad
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Wed Apr 04, 2007 19:37    Post subject: Reply with quote

Попробуй отключить регистро-зависимый поиск. Smile
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 20:19    Post subject: Reply with quote

Пардон, это где?
По-моему, учёт регистра можно включать-выключать только при поиске по содержанию файлов, а не по именам...

Я же ищу через плагин с регеспами - хотя могу и просто поиск с регеспами...
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 20:26    Post subject: Reply with quote

Кстати, есть хитрая задача:

разные деятели шлют новости, часто путая в названиях (и в именах файлов, соответственно) русское С и английское C.
В принципе фиг с ним, но, если такое в самом начале слова, то грубо нарушается сортировка в директориях, что очень неудобно...

Можно ли сделать регесп, который бы искал файлы, на первом месте в именах которых стоит английская C, а потом идёт любая русская буква или стоит любая русская буква через пробел?

Спасибо Smile
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 20:32    Post subject: Reply with quote

CaptainFlint wrote:
Попробуй отключить регистро-зависимый поиск. Smile


Бляха-муха!
У меня в хелпе ТК написано:
Quote:
Модификаторы
Модификаторы используются для изменения поведения регулярных выражений.
(?i) Отключает проверку верхнего/нижнего регистра. В Total Commander это значение включено по умолчанию для имён файлов.
(?-i) Включает проверку регистра.


Что на чём стояло? что включает - а что выключает???

Короче, вот это заработало, ищет файлы, начинающиеся с маленьких букв обоих языков только - поиск без плагинов, но с регеспами:
Code:
(?-i)^[^A-ZА-Я0-9]

_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Wed Apr 04, 2007 20:32    Post subject: Reply with quote

Ник wrote:
Можно ли сделать регесп, который бы искал файлы, на первом месте в именах которых стоит английская C, а потом идёт любая русская буква или стоит любая русская буква через пробел?

Какие проблемы?
Code:
C ?[а-я]

_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Wed Apr 04, 2007 21:56    Post subject: Reply with quote

Точнее:

Code:
^C ?[а-я]


и в поиск с плагинами - в именах файлов, с регеспами.

Только зачем пробел перед знаком вопроса - я так и не понял Sad
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Wed Apr 04, 2007 22:20    Post subject: Reply with quote

Ник wrote:
Только зачем пробел перед знаком вопроса - я так и не понял

Ты ж сам писал:
Ник wrote:
или стоит любая русская буква через пробел?

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



Joined: 06 Feb 2005
Posts: 4908

Post (Separately) Posted: Thu Apr 05, 2007 02:06    Post subject: Reply with quote

Ник, ? означает "0 или 1 вхождение пред символа".
Т.е. " ?" означает "пробел есть или пробела нет".

Мой пример: ищу URL'ы. RegEx:
Code:
[a-z]+://[a-z.\d/_]+

_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Thu Apr 05, 2007 07:31    Post subject: Reply with quote

Спасибо, мужики Smile
Я просто психологически не воспринял пробел как символ - устал к вечеру...
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
Ник



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

Post (Separately) Posted: Thu Apr 05, 2007 18:54    Post subject: Reply with quote

Поможите, плз Smile

Тут Гугл почему-то путает русский и украинский языки и шлёт некоторые новости с заголовками на украинском.
Мне нужно убрать из них символы, которые ТК и ZIP упорно считают "нелатинскими", т.е.:
i (в чём разница с латинским "i" я не знаю, но она есть)
ї
є


При попытке поиска и замены, ТК меняет все "i" - и украинские, и английские (получается "Lиght" вместо "Light")...
Как их различить и как правильно написать выражение для поиска и замены?
_________________
Xubuntu 18.04-64
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4908

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

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

Quote:
\a alarm, that is, the BEL character (hex 07)
\cx "control-x", where x is any character
\e escape (hex 1B)
\f formfeed (hex 0C)
\n newline (hex 0A)
\r carriage return (hex 0D)
\t tab (hex 09)
\ddd character with octal code ddd, or backreference
\xhh character with hex code hh
\x{hhh..} character with hex code hhh..

After \x, from zero to two hexadecimal digits are read (letters can be in upper or lower case). Any number of hexadecimal digits may appear between \x{ and }, but the value of the character code must be less than 256 in non-UTF-8 mode, and less than 2**31 in UTF-8 mode (that is, the maximum hexadecimal value is 7FFFFFFF).
_________________
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 07:31    Post subject: Reply with quote

Спасибо, конечно, но как этот код для украинской кириллицы определить?!?!
_________________
Xubuntu 18.04-64
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 2 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