Страница 1 из 1
поиск текста в файле
Добавлено: Ср июн 21, 2006 19:01
Алексей Фролов
Подскажите, есть ли в ТС возможность искать по нескольким словам (чтобы находились файлы содержащие одно или несколько из слов). Или может существует какой-нибудь плагин?
Добавлено: Ср июн 21, 2006 19:34
funduk
Как вариант могу посоветовать написать так:
слово1(.*)слово2(.*)слово3
и поставить галочку у регулярных выражений.
Добавлено: Ср июн 21, 2006 19:48
funduk
Ну или такой вариант (учитывает, что это именно слова, а не части слов):
(\s)*слово1(\s)*(.*)(\s)*слово2(\s)*
В справке есть более менее полное описание регулярных выражений. Замечательная вещь.
Добавлено: Ср июн 21, 2006 20:00
CaptainFlint
funduk
Позанудствую малость.

Как твой второй вариант запретит найти, скажем, одно такое слово: "слово1слово2"?

Я уж не говорю о том, что порядок слов может быть разным...
Алексей Фролов
Думаю, проще всего делать так: сначала выполнить поиск по одному слову, забросить результаты на панель, выделить все файлы, снова открыть диалог поиска, выполнить поиск файлов, содержащих второе нужное слово (проверить, что опция "Только в выделенных файлах" активирована), ну и так далее, если слов больше, чем 2.
Добавлено: Ср июн 21, 2006 20:37
funduk
CaptainFlint писал(а):Как твой второй вариант запретит найти, скажем, одно такое слово: "слово1слово2"?
Там, вроде, \s должно было бы сработать, если бы я вместо * + бы написал
Я уж не говорю о том, что порядок слов может быть разным...
Ну, это да
Думаю, проще всего делать так: сначала выполнить поиск по одному слову, забросить результаты на панель, выделить все файлы, снова открыть диалог поиска, выполнить поиск файлов, содержащих второе нужное слово (проверить, что опция "Только в выделенных файлах" активирована), ну и так далее, если слов больше, чем 2.
Способ универсальный, но мой мне нравится тем, что при известном порядке (или если слова чередуются) требует одного запроса.
Re: поиск текста в файле
Добавлено: Ср июн 21, 2006 22:45
Volniy
Я тоже побрюзжу немножко

. Искать текст с помощью регулярных выражений можно
только внутри одной строки текста
...the program only supports searching within one line (с) Ghisler, TC Help file
Так что такое выражение, как
не будет работать если слова находятся
в разных строках, хотя и последовательно.
Добавлено: Ср июн 21, 2006 22:50
funduk
Чёрт, чой-то я этого в русской справке не углядел...
А с (\n)* работает?
Добавлено: Чт июн 22, 2006 01:55
Volniy
funduk писал(а):Чёрт, чой-то я этого в русской справке не углядел...
А с (\n)* работает?
В русской справке тоже есть:
Код: Выделить всё
Прочие модификаторы неприменимы для Total Commander, поскольку программа поддерживает только поиск в пределах одной строки.
А что должно работать-то с (\n)* ? Я чет не понял
Вообще \n работает только если оно в конце или в начале(!) регулярного выражения. Только ведь для этих целей и так есть метасимволы начала (
^) и конца (
$) строки. Нафик не надо нам это \n ...
Добавлено: Чт июн 22, 2006 10:21
funduk
Нда, с разрывами строк не получается...