Загрузить поиск по шаблону
Обработки для 1С:
Загрузить поиск по шаблону (12
Кб)
Загрузить поиск по шаблону
от Ильдара Каюмова (4 Кб)
Постановка задачи
Обработка содержит алгоритм поиска строк по шаблону. Функции обработки можно использовать в любой конфигурации. Функция возвращает 1, если шаблон подходит под заданную строку, или 0, если не подходит.
Шаблон может содержать метасимволы ? и *. Метасимвол ? в шаблоне означает любой символ на этом месте в искомой строке, а метасимвол * означает любую последовательность символов (возможно пустую) в данном месте.
Большие и малые буквы в обработке не различаются.
Примеры:
Пусть есть строки: "56 789", "3456 789", "345", "346 789", " 679", "329", "12",
тогда поиск по шаблону должен выдать следующие результаты:
| Шаблон | Строки, для которых возвращается 1 | Комментарий |
| "*5*?" | "56 789", "3456 789" | Но не "345", поскольку шаблон предполагает наличие какого-нибудь символа после 5 |
| "5*" | "56 789" | |
| "???" | все, кроме "12" | так как "12" содержит менее трех символов |
| "*9" | строки, завершающиеся 9 | |
| "* ??9" | "3456 789", "346 789", " 679" | Но не "329"! так как "329" хоть и оканчивается на 9, но за два символа перед девяткой нет пробела |
Изначально были сформулированы только базовые возможности поиска по шаблону. Поиск - часто используемая функция в любой СУБД (в том числе в 1С). Чем богаче возможности поиска, тем легче найти информацию. Поэтому скорее всего при реальном использовании пользователи захотят расширить возможности поиска.
Поиск по шаблону достаточно знаком многим пользователям и программистам. Похожие системы поиска можно посмотреть в любом интернет-поисковике (www.yandex.ru, www.rambler.ru, www.yahoo.com и т.п.). Более развитый поиск по шаблону можно посмотреть в текстовых редакторах MS Word и MultiEdit, или в классической утилите Grep, которая пришла с Unix систем.