Расширенный поиск (near, and)
Select messages from
# through # FAQ
[/[Print]\]

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

#1: Расширенный поиск (near, and) Author: plvtor PostPosted: Sun Nov 11, 2007 02:08
    —
Как искать по тексту, если надо найти файлы с двумя, тремя, и т.д. искомыми словами, есть несколько вариантов.

А можно ли искать так чтобы находило только те файлы, где искомые слова отстоят друг от друга на небольшом расстоянии?

Т.е. поиск "Иванов Петров" выдает результат только если эти слова, неважно в какой последовательности, находятся в пределах, скажем 100 знаков друг от друга. (предел бы тоже чтоб можно было задавать) .

А если Иванов упомянут в начале текста, а Петров где-нибудь в середине, то в итоговый результат этот файл не выводится.

#2:  Author: DrSharkLocation: Kyiv, Ukraine PostPosted: Sun Nov 11, 2007 16:22
    —
Нет наверное. Можешь попросить Alextp, м.б. от добавит такую возможность в плагин TextSearch.

#3:  Author: CaptainFlintLocation: Москва PostPosted: Sun Nov 11, 2007 17:47
    —
В качестве альтернативы можно использовать поиск в несколько шагов. Сначала ищешь все файлы, где есть слово "Иванов", потом выводишь их список в панель, выделяешь все, и натравливаешь на них поиск по слову "Петров", оставив, разумеется, включённой галочку "Только в выделенных".

#4:  Author: aLexxLocation: Новокузнецк PostPosted: Sun Nov 11, 2007 17:57
    —
Не, по условию "находятся в пределах 100 знаков друг от друга." не проходит. Тут надо скриптик писать. Причём, несложный.
Шаг 1. Находим один из стрингов. Любой. Если есть, ищем второй.
Шаг 2. Если второй стринг находится, проверяем, на каком расстоянии они друг от друга. Тут можно также учесть длину самих стрингов.
Шаг 3. Если условие расстояния соблюдено, вывод информации.
Все параметры можно задать в комм. строке.
Имхо, для наших Гуру это плёвое дело!

#5:  Author: CaptainFlintLocation: Москва PostPosted: Sun Nov 11, 2007 18:36
    —
aLexx wrote:
Не, по условию "находятся в пределах 100 знаков друг от друга." не проходит.

По этому условию - да, я имел в виду самый первый вопрос, который не оформлен как вопрос:
plvtor wrote:
Как искать по тексту, если надо найти файлы с двумя, тремя, и т.д. искомыми словами

В некоторых случаях для "100 знаков" могут помочь регулярные выражения. Например,
Иванов.{0,100}Петров
Но, увы, это сработает, только если искомые слова в одной строке. Многострочных регулярных выражений в Тотале нет.

#6:  Author: aLexxLocation: Новокузнецк PostPosted: Sun Nov 11, 2007 18:44
    —
А кстати, для повышения уровня знаний.

Иванов.{0,100}Петров
Это выражение считает расстояние от начала "Иванов" до начала "Петров"?
Или от конца "Иванов" до начала "Петров"?
Иногда это бывает важным...

#7:  Author: CaptainFlintLocation: Москва PostPosted: Sun Nov 11, 2007 18:55
    —
aLexx wrote:
Иванов.{0,100}Петров

Это выражение считает расстояние от начала "Иванов" до начала "Петров"?

Для повышения уровня знаний рекомендуется читать справку. Smile
Выражение .{0,100} означает "произвольные символы количеством от 0 до 100". Соответственно, выражение Иванов.{0,100}Петров означает: строка "Иванов", потом произвольная последовательность символов, не более 100 штук, потом строка "Петров".



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


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group