Средство тестирования регулярных выражений (проект) — различия между версиями
Vyacovlev (обсуждение | вклад) |
Vyacovlev (обсуждение | вклад) |
||
Строка 36: | Строка 36: | ||
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | + | Предполагается реализациия проекта с использования набора библиотек Qt (http://qt-project.org). | |
=== Темы вводных занятий === | === Темы вводных занятий === |
Версия 14:43, 21 ноября 2014
Ментор | Яковлев Виктор |
Учебный семестр | Весна 2015 |
Учебный курс | 1-й курс |
Что это за проект?
Регулярные выражения
Регулярные выражения – это формальный язык для описания шаблона поиска и осуществления замен в текстах.
Пример: регулярное выражение (в синтаксисе Qt)
((http|https)://)?((www\.)?[a-zA-Z0-9\-_]+\.ru)(/[a-zA-Z0-9\-_/]+)?
определяет множество URL веб-страниц в зоне «.ru», которые находятся только на доменах второго уровня, возможно с префиксом «www.». Результатом упешного поиска является список строк, первая из которых является найденной в тексте подстрокой, а остальные – отдельные значимые фрагменты этой подстроки, которые в регулярном выражении задаются круглыми скобками. Регулярные выражения повсеместно используются во всех задачах, так или иначе связанных с обработкой текста.
Постановка задачи
Требуется реализовать инструмент (кроссплатформенный, то есть Windows+Linux) для тестирования регулярных выражений. В качестве примера реализации можно смотреть kregexpeditor из состава KDE3 (в любом старом дистрибутиве Linux середины 2000-х годов, например AltLinux 5.0 или openSUSE версии до 11.2).
Окно программы, полученной в результате выполнения проекта, содержит строку редактирования регулярного выражения и область текста для тестирования. При вводе строки регулярного выражения, выполняется поиск сопоставлений в тексте, при этом найденные сопоставления подчеркиваются, а отдельные их фрагменты выделяются разными цветами.
Программа должна выполнять простую проверку корректности строки регулярного выражения и диагностировать следующие синтаксические ошибки: 1) непарные скобки; 2) некорректные управляющие символы.
Чему вы научитесь?
- Работа с регулярными выражениями
- Разработка GUI-приложения с использованием современного API
Какие начальные требования?
- Знание объектно-ориентированного программирования на языке C++
- Знание технического английского (хотя бы со словарем или переводчиком)
Какие будут использоваться технологии?
Предполагается реализациия проекта с использования набора библиотек Qt (http://qt-project.org).
Темы вводных занятий
5
Направления развития
6
Критерии оценки
7