Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы СПО / РегЭкспы методичка.docx
Скачиваний:
54
Добавлен:
12.04.2015
Размер:
254.09 Кб
Скачать

5. Порядок выполнения работы

  1. Получить индивидуальный вариант задания.

  2. Изучить теоретическую часть.

  3. Обдумать алгоритм решения задачи с использованием регулярных выражений. Составить (на бумаге) необходимые регулярные выражения, отладить их с помощью программы TRegExpr.exe, входящей в дистрибутив библиотеки RegExpr.

  4. Разработать программу на C++ или Delphi, отладить и показать преподавателю.

  5. Оформить отчет.

6. Содержание отчета

  1. Текст индивидуального задания.

  2. Описание идеи решения задачи, используемые регулярные выражения.

  3. Листинг программы.

  4. Тестовые примеры, результаты их обработки, или скриншоты (2-3 шт).

7. Контрольные вопросы

  1. Что означает термин «метасимвол» в регулярных выражениях, чем метасимвол отличается от обычных символов? Перечислите метасимволы, использующиеся в регулярных выражениях.

  2. Как будет выглядеть шаблон регулярного выражения для поиска строки “x+y*(z–1)” (добавьте в нужные места экранирующий символ).

  3. Что такое символьный класс? Для чего используются символьные классы? Что такое исключающий символьный класс?

  4. Запишите символьный класс, в который входят цифры 0..9, латинские буквы A..Z большие и малые, символы ­_–.?|\/ .

  5. Что такое квантификаторы? Перечислите виды квантификаторов и правила их записи.

  6. Некий студент составил регэксп для выделения текста в двойных кавычках ‘«.*»’. Правильно? Какая строка будет найдена в тексте:

«Кало́ши», или «гало́ши» — непромокаемые, обычно резиновые, накладки, надеваемые на обувь.

  1. Что найдет шаблон ‘<b>.*</b>’ в фрагменте html-текста:

“… <b>кварковые звезды</b> занимают промежуточное место между

<b> нейтронными звездами</b> и <b>черными дырами</b>… ” ?

  1. Как изменить шаблон (вопр.7), чтобы он находил текст от <b> до ближайшего </b>.

  2. Что такое группа (подвыражение)? Для чего применяются группы?

  3. Что сохраняется в круглых скобках при применении выражения ‘^.*([0–9]+)’ к тексту “Copyright 2003” ?

  4. Что сохраняется в круглых скобках при применении выражения ‘^.*([0–9]*)’ к тексту “Copyright 2003” ?

  5. Что сохраняется в круглых скобках при применении выражения ‘^.*([0–9][0–9])’ к тексту “Copyright 2003” ?

  6. Переведите на нормальный русский язык:

  • распарсить текст регэкспами,

  • регекс не матчит выражение в круглых скобках,

  • регекса уже отматчила цепочку “aаа”

  • выражение с квантификатором [^)(]+ было жадным и, возможно, «съело» слишком много

  • движок регексов нашел 2 токена

Библиографический список

  1. Фридл, Дж. Регулярные выражения – СПб.: Питер, 2003. – 464 с.

(В свободном доступе на http://www.softtime.ru/info/fridl.php)

2. Применение конечных автоматов для поиска и распознавания подстрок: Методические указания к лабораторной работе по курсу «Теория автоматов» для студентов специальности 220100 / Курск. гос. техн. ун-т; Сост.: Е.Ю. Емельянова, И.Е. Чернецкая. Курск, 2005. 24 с.

3. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. – СПб.: Питер, 2001. – 736 с.: ил.

4. http://habrahabr.ru/blogs/regex/56765/[Электронный ресурс]

5. http://www.pcre.ru/ [Электронный ресурс]

6. http://habrahabr.ru/blogs/regex/[Электронный ресурс]

Приложение

Соседние файлы в папке Лабы СПО