Назад в библиотеку

Реализация поисковых запросов на языке регулярных выражений

Автор: Жабин В.В.
Источник: Вестник Тамбовского университета. Серия: Естественные и технические науки. Выпуск № 1 / том 17 / 2012

Аннотация

Жабин В.В. - Реализация поисковых запросов на языке регулярных выражений В статье рассматривается реализация поисковых запросов на основе регулярных выражений с использованием серверного языка PHP.

Реализация поисковых запросов на языке регулярных выражений.

Проблемы поиска информации в базах данных заслуживают самого серьезного внимания. Поиск информации в базах данных осуществляется с помощью фильтров и запросов. Рассмотрим пример поискового запроса с использованием фильтра в базе данных «Каталог» (рис. 1).Поиск осуществляется по 46 общекультурным и профессиональным компетенциям в двух группах. Пользователю необходимо настроить фильтр на конкретную группу, и осуществить стандартный поиск путем ввода в текстовое поле цифры (по номеру компетенции внутри группы).

Схема описанного стандартного поиска представлена на рис. 2. Пользователь вводит поисковый запрос в форму,технология ajax производит отправку данного предложения на сервер PHP, где происходит прием данных, после чего разобранные данные отправляются в базу MySQL.Мы считаем, что данный метод организации поиска является неудобным для пользователя и может быть усовершенствован путем использования регулярных выражений (рис. 3).

Рисунок 1 – Скриншот поискового запроса с использованием фильтра

Рисунок 1 – Скриншот поискового запроса с использованием фильтра

Рисунок 2 – Схема стандартного поискового запроса

Рисунок 2 – Схема стандартного поискового запроса

Рисунок 3 – Усовершенствованная схема поискового запроса с использованием регулярных выражений

Рисунок 3 – Усовершенствованная схема поискового запроса с использованием регулярных выражений

Рисунок 4 – Скриншот поискового запроса с использованием регулярных выражений

Рисунок 4 – Скриншот поискового запроса с использованием регулярных выражений

Рисунок 5 – . Результат поискового запроса на основе регулярного выражения

Рисунок 5 – . Результат поискового запроса на основе регулярного выражения

Пользователь вводит поисковый запрос в форму, технология ajax производит отправку данного предложения на сервер PHP, где происходит прием данных, данные передаются на обработку регулярному выражению, после чего разобранные данные отправляются в базу MySQL. Регулярное выражение – это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец, состоящая из символов и метасимволов и задающая правило поиска.

Регулярные выражения произвели прорыв в электронной обработке текстов в конце XX в. Многие современные языки программирования – PHP, Perl, Javascript, Ruby имеют встроенную поддержку регулярных выражений. Приведем некоторые сведения о синтаксисе регулярных выражений – это обычные символы (литералы) и специальные символы (метасимволы). Большинство символов в регулярном выражении представляют сами себя за исключением специальных символов [ ] \ ^ $ . | ? * + ( ) { }, которые могут быть предварены символом \ (обратная косая черта) («экранированы», «защищены») для представления их самих в качестве символов текста. Можно экранировать целую последовательность символов, заключив ее между \Q и \E.

Аналогично могут быть представлены другие специальные символы (набор символов, требующих экранирования, может отличаться в зависимости от конкретной реализации). Часть символов, которые в той или иной реализации не требуют экранирования (например, угловые скобки < >), могут быть экранированы из соображений удобочитаемости. Теперь новый поиск в базе данных выглядит следующим образом (рис. 4). Поиск в программе по регулярному выражению. Пользователь вводит в поле произвольное предложение (рис. 4). В итоге после обработки и передачи данных пользователю результат можно увидеть на рис. 5

Приведем фрагмент кода на регулярных выражениях на языке PHP

Рисунок 6 – Фрагмент кода на регулярных выражениях

Рисунок 6 – Фрагмент кода на регулярных выражениях

На кафедре информатики информационных технологий Тамбовского государственного университета им. Г.Р. Державина [1]разработана база данных «Аннотированный каталог научных публикаций по охране интеллектуальной собственности» на основе вышеизложенного подхода.

Выводы

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

Список литературы

  1. Лыскова В.Ю. Кафедра информатики и информационных технологий. Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2009. Т. 14. Вып. 5. Ч. 1. С. 851-871.