Discussion:
Поиск кроме букв и пробелов?
Николай Кузнецов
2005-05-10 06:54:36 UTC
Permalink
Здравствуйте, Total Commander!

По-моему я уже задавал вопрос и даже вроде получил ответ, но не могу
найти концов :(

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

Что-то вроде: [\S\s\W\w] - но никак не могу скомбинировать...
Имена файлов по-русски - поэтому(?) \W считает их допустимыми :(

Пример:

Сделав два правила:
плагином ТК (встроенным) искать в "имени" "как regex" \W
и (логическое)
плагином ТК (встроенным) искать в "имени" "как regex" \S

получаю список:
1)Lat2Rus(kolxo3).ttb
2)Йцукен2Qwerty.ttb - !!!
3)Rus2Lat (standart).ttb
4)Rus2Lat (sms).ttb
5)Rus2Lat (pseudo).ttb
6)Rus2Lat (ju-ja).ttb
7)Qwerty2Йцукен.ttb - !!!
8)Lat2Rus (phonetics).ttb
9)стандартная.ttb - !!!
10)ju-ja.ttb

всё верно, кроме: русский язык (файлы 2,7,9) интерпретирован как
удовлетворяющий условию - нужно, чтобы этих файлов в списке не было...

Другие контентные плагины, вытаскивающие имя файла, дают тот же
результат.

Как быть - чтобы файлы, в которых нет ничего, кроме русских букв и
пробелов, не включались бы в выходной список?

Спасибо!
--
С уважением,
Николай Кузнецов nick222-o+MxOtu4lMCHXe+***@public.gmane.org

Total Commander 6.52 на
Windows 2000 5.0 Build 2195 Service Pack 4
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-11 11:58:15 UTC
Permalink
Привет, Николай.

НК> Как с помощью регулярных выражений найти все файлы, в именах которых
НК> содержится что-либо, кроме букв русских и английских и пробелов?

НК> Что-то вроде: [\S\s\W\w] - но никак не могу скомбинировать...
НК> Имена файлов по-русски - поэтому(?) \W считает их допустимыми :(

НК> Пример:

НК> Сделав два правила:
НК> плагином ТК (встроенным) искать в "имени" "как regex" \W
НК> и (логическое)
НК> плагином ТК (встроенным) искать в "имени" "как regex" \S

НК> получаю список:
НК> 1)Lat2Rus(kolxo3).ttb
НК> 2)Йцукен2Qwerty.ttb - !!!
НК> 3)Rus2Lat (standart).ttb
НК> 4)Rus2Lat (sms).ttb
НК> 5)Rus2Lat (pseudo).ttb
НК> 6)Rus2Lat (ju-ja).ttb
НК> 7)Qwerty2Йцукен.ttb - !!!
НК> 8)Lat2Rus (phonetics).ttb
НК> 9)стандартная.ttb - !!!
НК> 10)ju-ja.ttb

Что-то у меня подозрение, что только что был найден новый баг. Во всяком случае
привожу свои результаты.

Ситуация 1:
1. Создал 10 файлов с вышеприведёнными именами.
2. Создаю поиск: на вкладке Общие всё по умолчанию, на Дополнительно - тоже, на
вкладке Плагины ввожу два правила, объединённые по И:
tc - Имя - regex - \S
tc - Имя - regex - \W
3. Жму Начать поиск. Находятся все 10 файлов.

Ситуация 2:
В точности то же, что и в предыдущем варианте, но дополнительно ставлю галочку
"Рег. выраж." на вкладке "Общие параметры". Жму "Начать поиск" - найдены только
7 файлов - как раз те, которые и должны быть найдены... Поле "Искать файлы" на
"Общих параметрах" в обоих случаях пустое, так что эта галочка не должна была ни
на что влиять, однако же повлияла.

В качестве временного решения могу посоветовать одиночное регулярное выражение,
которое я хотел сразу предложить, но дёрнул меня чёрт поэкспериментировать :)
Вот это выражение: [^a-zа-я 0-9]
Думаю, комментарии излишни. :)

PS: А насчёт этого бага проверьте, плиз. Если подтвердится, надо на оф. форум
репортить...
--
Пока. Власов Константин.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Николай Кузнецов
2005-05-12 06:30:59 UTC
Permalink
Здравствуйте, Власов Константин!

Вы писали 11 мая 2005 г., 15:58:15:

ВК> Что-то у меня подозрение, что только что был найден новый баг.
...
ВК> Ситуация 2: В точности то же, что и в предыдущем варианте, но
ВК> дополнительно ставлю галочку "Рег. выраж." на вкладке "Общие
ВК> параметры". Жму "Начать поиск" - найдены только 7 файлов - как раз
ВК> те, которые и должны быть найдены... Поле "Искать файлы" на "Общих
ВК> параметрах" в обоих случаях пустое, так что эта галочка не должна
ВК> была ни на что влиять, однако же повлияла.

У меня, если при всём этом поставить галку "Рег.выр." на "Общие
параметры", то результат поиска нулевой - хотя без неё находит 10
файлов...

ВК> В качестве временного решения могу посоветовать ... [^a-zа-я 0-9]

Ищёт гораздо больше, чем нужно :(

Спасибо!
ТК 6.52
Вин 2000 Про Анг СП4
--
С уважением,
Николай Кузнецов nikuz-Tb+***@public.gmane.org
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Loading...