View previous topic :: View next topic |
Как часто вы пользуетесь регулярными выражениями (RegEx)? |
Раз в день |
|
33% |
[ 34 ] |
Раз в неделю |
|
18% |
[ 19 ] |
Раз в месяц |
|
27% |
[ 28 ] |
А что это такое? |
|
19% |
[ 20 ] |
|
Total Votes : 101 |
|
Author |
Message |
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 15:16 Post subject: |
|
|
Code: | [^a-zA-Zа-яА-Я\s_0-9] |
я это пишу в "Поиск с плагинами" и ставлю "Искать только в имени" и "regex"...
Вроде пока работает... _________________ Xubuntu 20.10 |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 15:30 Post subject: |
|
|
Ник wrote: | я это пишу в "Поиск с плагинами" и ставлю "Искать только в имени" и "regex"... |
Ну, можно и так, конечно... _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 19:25 Post subject: |
|
|
Скажите, плз, как найти все файлы, начинающиеся со строчных букв?
Я пишу следующее:
но оно не работает - не ищет ничего _________________ Xubuntu 20.10 |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 19:37 Post subject: |
|
|
Попробуй отключить регистро-зависимый поиск. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 20:19 Post subject: |
|
|
Пардон, это где?
По-моему, учёт регистра можно включать-выключать только при поиске по содержанию файлов, а не по именам...
Я же ищу через плагин с регеспами - хотя могу и просто поиск с регеспами... _________________ Xubuntu 20.10 |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 20:26 Post subject: |
|
|
Кстати, есть хитрая задача:
разные деятели шлют новости, часто путая в названиях (и в именах файлов, соответственно) русское С и английское C.
В принципе фиг с ним, но, если такое в самом начале слова, то грубо нарушается сортировка в директориях, что очень неудобно...
Можно ли сделать регесп, который бы искал файлы, на первом месте в именах которых стоит английская C, а потом идёт любая русская буква или стоит любая русская буква через пробел?
Спасибо _________________ Xubuntu 20.10 |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 20:32 Post subject: |
|
|
CaptainFlint wrote: | Попробуй отключить регистро-зависимый поиск. |
Бляха-муха!
У меня в хелпе ТК написано:
Quote: | Модификаторы
Модификаторы используются для изменения поведения регулярных выражений.
(?i) Отключает проверку верхнего/нижнего регистра. В Total Commander это значение включено по умолчанию для имён файлов.
(?-i) Включает проверку регистра. |
Что на чём стояло? что включает - а что выключает???
Короче, вот это заработало, ищет файлы, начинающиеся с маленьких букв обоих языков только - поиск без плагинов, но с регеспами:
_________________ Xubuntu 20.10 |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 20:32 Post subject: |
|
|
Ник wrote: | Можно ли сделать регесп, который бы искал файлы, на первом месте в именах которых стоит английская C, а потом идёт любая русская буква или стоит любая русская буква через пробел? |
Какие проблемы? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 21:56 Post subject: |
|
|
Точнее:
и в поиск с плагинами - в именах файлов, с регеспами.
Только зачем пробел перед знаком вопроса - я так и не понял _________________ Xubuntu 20.10 |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Apr 04, 2007 22:20 Post subject: |
|
|
Ник wrote: | Только зачем пробел перед знаком вопроса - я так и не понял |
Ты ж сам писал: Ник wrote: | или стоит любая русская буква через пробел? |
Я так выражение и составил: либо английская "C", после которой сразу русская буква, либо английская "C", за которой пробел, а потом русская буква. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Thu Apr 05, 2007 02:06 Post subject: |
|
|
Ник, ? означает "0 или 1 вхождение пред символа".
Т.е. " ?" означает "пробел есть или пробела нет".
Мой пример: ищу URL'ы. RegEx:
Code: | [a-z]+://[a-z.\d/_]+ |
_________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Thu Apr 05, 2007 07:31 Post subject: |
|
|
Спасибо, мужики
Я просто психологически не воспринял пробел как символ - устал к вечеру... _________________ Xubuntu 20.10 |
|
Back to top |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Thu Apr 05, 2007 18:54 Post subject: |
|
|
Поможите, плз
Тут Гугл почему-то путает русский и украинский языки и шлёт некоторые новости с заголовками на украинском.
Мне нужно убрать из них символы, которые ТК и ZIP упорно считают "нелатинскими", т.е.:
i (в чём разница с латинским "i" я не знаю, но она есть)
ї
є
При попытке поиска и замены, ТК меняет все "i" - и украинские, и английские (получается "Lиght" вместо "Light")...
Как их различить и как правильно написать выражение для поиска и замены? _________________ Xubuntu 20.10 |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Apr 06, 2007 00:28 Post subject: |
|
|
Ник, в 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 |
|
|
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Fri Apr 06, 2007 07:31 Post subject: |
|
|
Спасибо, конечно, но как этот код для украинской кириллицы определить?!?! _________________ Xubuntu 20.10 |
|
Back to top |
|
|
|