Поиск total commander: Как найти файл по слову в тексте с помощью Total Commander

Регулярные выражения в Total Commander (или поиск по шаблонам)

Сегодня я столкнулся с тем, что оказывается в интернете не так-то уж и много информации про регулярные выражения для Total Commander`а. Если говорить точнее, то она возможно и есть, но найти ее крайне тяжело. Да, и к тому же ни все тонкости там сказаны и «разжеваны». А для нас, людей живущих очень быстро, дорога каждая минута. И разбираться, что нам поможет, а что нет, очень долго… В общем я решил собрать сюда всю инфу, которую я нашел по регуляркам для Тотал Коммандера. Для начала я покажу Вам то, что пишут в мануалах (официальная справка) от самих разработчиков, но с русским переводом! =)

Справка по использованию регулярных выражений в Total Commander (manual)

Регулярные выражения

Регулярные выражения являются очень мощным инструментом поиска. Они позволяют искать сложные комбинации слов. Регулярные выражения в основном предназначены для профессионалов, но также могут быть полезными и для начинающих для поиска определенных документов (см. $ + *? (только в символьных классах: -)

Обычные символы

Если Вы напишите для поиска только обычные символы, например: «тест», то поиск найдет Вам файл с этими символами, идущими в строгом порядке, как «т→е→с→т». Примечание: Этот запрос находит «тест» в любом месте в имени файла и/или строки в тексте.

Пробег последовательности

Обратная косая черта \ запускает последовательность Escape. Примеры управляющих последовательностей:

\t — Остановка табуляции

\xnn — Символ с шестнадцатеричным кодом «nn». Пример: \x20 является пробелом.Таблица символов charmap.exe (если установлен) показывает коды символов большинства специальных символов. Вы можете использовать эту таблицу в постоянном режиме, чтобы конвертировать из десятичной системы исчисления в шестнадцатеричном формате.

\x{NNNN} — Юникод с шестнадцатеричным кодом NN. Обратите внимание, что Total Commander теперь использует Unicode для имен файлов, так что вы должны использовать это обозначение для других символов, отличных от латинских. — Начало строки

$ — Конец строки

. — Любой символ

\w — буквы, цифры или знак подчеркивания _

\W — противоположность \w

\d — цифра

\D — не цифра

\s — разделители слов (пробел, табуляция и т.д.)

\S — слова без разделителей

\b — находит границу слова (сочетание \s и \S)

\B — противоположность \b

Итераторы

Итераторы используются для повторения символа или выражения в левой части итератора.

* — Ноль или более раз где-то

+ — Один или несколько раз где-то

{n} ровно n раз где-то

{n,} минимум n раз где-то

{n,m} минимум n и m максимально раз где-то

Все эти операторы являются «жадными», это означает, что они принимают столько символов, сколько они могут получить. Ввод вопросительного знака ? после оператора делает их «не жадными», т.е. он занимает ровно столько символов, сколько необходимо.

Пример: если применить «b+» к целевой строке «abbbbc», то поиск найдет «bbbb», а если применить «b+?», то поиск находит только «b».

Альтернативы

Альтернативы заключаются в круглых скобках, и разделены вертикальной чертой.
Пример: (John|James|Peter) находит одно из имен John, James или Peter.

Подвыражения для поиска + функция «заменить»

Текстовые части в круглых скобках берутся подвыражения.
Пример: Чтобы поменять название и интерпретировать имя у .mp3 файла, когда они разделены тире (Название — Интерпретатор.mp3), это может быть решено следующим образом:

Поиск: (.*) — (.*)\.mp3

Заменить на: $2 — $1.mp3

Здесь $1 означает текст в первых скобках, а $2 текст во вторых скобках.

Обратные

\n — Находит подвыражению n другой раз в результате поиска.

Пример: (.+)\1+ находит, например, abab (где первый ab находится с помощью: .+ и второй за счет: \1+)

Модификаторы

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

(?i) — Игнорировать прописные/строчные буквы. В Total Commander, это по умолчанию для имен файлов.

(?-i) — Чувствительность к регистру.

(?g) — Включение режима «жадный» (включен по умолчанию)

(?-g) Выключение режима «жадный», так что «+» означает то же самое, как «+».

Другие модификаторы не имеют отношения к Total Commander, потому что программа поддерживает поиск по регулярным выражениям ТОЛЬКО В ОДНОЙ СТРОКЕ.



Total Commander использует свободные Delphi библиотеки «TRegExpr» от Андрея В. Сорокина

Некоторые из приведенных выше объяснений взяты из файла справки для этой библиотеки.

Немного слов от себя

Если Вы захотите сделать поиск по файлам (по названию файла) в определенных файлах (в моем случае мне нужны были php и js файлы), то вот выражение, которое мне помогло:

*.php;*.js


Т.е. выходит так, что ни какие скобки мне там не помогли… Надо просто каждое выражение отделять точкой с запятой и тогда все получится. В общем для IT`шников все интуитивно! =)

Total Commander — поиск с исключением

RockMeister
Banned