К ТСКВ: примеры регулярных выражений
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, ... 10, 11, 12  Next  :| |:
Total Commander -> Общие вопросы
Как часто вы пользуетесь регулярными выражениями (RegEx)?
Раз в день
33%
 33%  [ 34 ]
Раз в неделю
18%
 18%  [ 19 ]
Раз в месяц
27%
 27%  [ 28 ]
А что это такое?
19%
 19%  [ 20 ]
Total Votes : 101


#16:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 15:16
    —
Code:
[^a-zA-Zа-яА-Я\s_0-9]

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

Вроде пока работает...

#17:  Author: CaptainFlintLocation: Москва PostPosted: Wed Apr 04, 2007 15:30
    —
Ник wrote:
я это пишу в "Поиск с плагинами" и ставлю "Искать только в имени" и "regex"...

Ну, можно и так, конечно...

#18:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 19:25
    —
Скажите, плз, как найти все файлы, начинающиеся со строчных букв?

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

но оно не работает - не ищет ничего Sad

#19:  Author: CaptainFlintLocation: Москва PostPosted: Wed Apr 04, 2007 19:37
    —
Попробуй отключить регистро-зависимый поиск. Smile

#20:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 20:19
    —
Пардон, это где?
По-моему, учёт регистра можно включать-выключать только при поиске по содержанию файлов, а не по именам...

Я же ищу через плагин с регеспами - хотя могу и просто поиск с регеспами...

#21:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 20:26
    —
Кстати, есть хитрая задача:

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

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

Спасибо Smile

#22:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 20:32
    —
CaptainFlint wrote:
Попробуй отключить регистро-зависимый поиск. Smile


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


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

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

#23:  Author: CaptainFlintLocation: Москва PostPosted: Wed Apr 04, 2007 20:32
    —
Ник wrote:
Можно ли сделать регесп, который бы искал файлы, на первом месте в именах которых стоит английская C, а потом идёт любая русская буква или стоит любая русская буква через пробел?

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

#24:  Author: НикLocation: Москва PostPosted: Wed Apr 04, 2007 21:56
    —
Точнее:

Code:
^C ?[а-я]


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

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

#25:  Author: CaptainFlintLocation: Москва PostPosted: Wed Apr 04, 2007 22:20
    —
Ник wrote:
Только зачем пробел перед знаком вопроса - я так и не понял

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

Я так выражение и составил: либо английская "C", после которой сразу русская буква, либо английская "C", за которой пробел, а потом русская буква.

#26:  Author: Alextp PostPosted: Thu Apr 05, 2007 02:06
    —
Ник, ? означает "0 или 1 вхождение пред символа".
Т.е. " ?" означает "пробел есть или пробела нет".

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

#27:  Author: НикLocation: Москва PostPosted: Thu Apr 05, 2007 07:31
    —
Спасибо, мужики Smile
Я просто психологически не воспринял пробел как символ - устал к вечеру...

#28:  Author: НикLocation: Москва PostPosted: Thu Apr 05, 2007 18:54
    —
Поможите, плз Smile

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


При попытке поиска и замены, ТК меняет все "i" - и украинские, и английские (получается "Lиght" вместо "Light")...
Как их различить и как правильно написать выражение для поиска и замены?

#29:  Author: Alextp PostPosted: Fri Apr 06, 2007 00:28
    —
Ник, в 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).

#30:  Author: НикLocation: Москва PostPosted: Fri Apr 06, 2007 07:31
    —
Спасибо, конечно, но как этот код для украинской кириллицы определить?!?!



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, ... 10, 11, 12  Next  :| |:
Page 2 of 12

Powered by phpBB © 2001, 2005 phpBB Group