Средство тестирования регулярных выражений (проект): различия между версиями
Vyacovlev (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
| (не показано 9 промежуточных версий 3 участников) | |||
| Строка 2: | Строка 2: | ||
|name=Средство тестирования регулярных выражений | |name=Средство тестирования регулярных выражений | ||
|mentor=Яковлев Виктор | |mentor=Яковлев Виктор | ||
|mentor_login={{URLENCODE: | |mentor_login={{URLENCODE:Vyacovlev|WIKI}} | ||
|semester=Весна 2015 | |semester=Весна 2015 | ||
|course=1 | |course=1 | ||
|summer= | |summer= | ||
|categorize=yes | |categorize=yes | ||
|is_archived=yes | |||
}} | }} | ||
| Строка 28: | Строка 29: | ||
=== Чему вы научитесь? === | === Чему вы научитесь? === | ||
# Работа с регулярными выражениями | |||
# Разработка GUI-приложения с использованием современного API | |||
=== Какие начальные требования? === | === Какие начальные требования? === | ||
# Знание объектно-ориентированного программирования на языке C++ | |||
# Знание технического английского (хотя бы со словарем или переводчиком) | |||
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
Предполагается реализациия проекта с использования набора библиотек Qt (http://qt-project.org). | |||
=== Темы вводных занятий === | === Темы вводных занятий === | ||
# Вводный мастер-класс по созданию простого GUI-приложения с использованием Qt | |||
# Сборка RPM-пакетов | |||
=== Направления развития === | === Направления развития === | ||
Можно реализовать визуализацию структуры регулярного выражения. | |||
=== Критерии оценки === | === Критерии оценки === | ||
7 | * 4 балла. Реализована программа, которая по заданному корректному регулярному выражению выдает список найденных вхождений в некотором текстовом файле. | ||
* 5 баллов. Возможность редактирования текста и поиска вхождений в текстовом редакторе. | |||
* 6 баллов. Найденные вхождения текста выдаются не списком, а выделяются (цветом, подчеркиванием и т. д.) в текстовом редакторе | |||
* 7 баллов. Выделяются не только вхождения найденного текста, но и его обособленные части | |||
Визуализация структуры регулярного выражения: '''+2 балла'''. | |||
Оформление программы в виде инсталлятора (Windows) или RPM/DEB пакета (Linux): '''+1 балл'''. | |||
Текущая версия от 07:52, 20 октября 2015
| Ментор | Яковлев Виктор |
| Учебный семестр | Весна 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).
Темы вводных занятий
- Вводный мастер-класс по созданию простого GUI-приложения с использованием Qt
- Сборка RPM-пакетов
Направления развития
Можно реализовать визуализацию структуры регулярного выражения.
Критерии оценки
- 4 балла. Реализована программа, которая по заданному корректному регулярному выражению выдает список найденных вхождений в некотором текстовом файле.
- 5 баллов. Возможность редактирования текста и поиска вхождений в текстовом редакторе.
- 6 баллов. Найденные вхождения текста выдаются не списком, а выделяются (цветом, подчеркиванием и т. д.) в текстовом редакторе
- 7 баллов. Выделяются не только вхождения найденного текста, но и его обособленные части
Визуализация структуры регулярного выражения: +2 балла.
Оформление программы в виде инсталлятора (Windows) или RPM/DEB пакета (Linux): +1 балл.