Опубликован: 18.06.2007 | Уровень: специалист | Доступ: платный
Подробное неформальное описание синтаксиса и механизма работы регулярных выражений языка Perl с примерами использования от простых к сложным.
Описание с нуля синтаксиса и механизма работы регулярных выражений Perl, алгоритма работы оператора m//, s///, split, всех конструкций, используемых в регулярных выражениях. Сложные случаи применения регулярных выражений (динамические регулярные выражения, использование встроенного кода). Объекты регулярных выражений. Хронометраж и ускорение работы регулярных выражений. Побочные действия регулярных выражений (установка переменных $1, …, @-, @+, $' и т.д.). Учебные и практические примеры использования регулярных выражений. Юникод не рассматривается.
Цель: Научить грамотно составлять и использовать регулярные выражения и мыслить их категориями.
Предварительные курсы |
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 156 минут | Создание регулярных выражений
Начальное знакомство с регулярными выражениями: одиночные символы, классы символов, альтернативные шаблоны, квантификаторы (числители), их "жадность" и ее ограничение, мнимые символы (якоря), захватывающие скобки и ссылки на найденный текст.
Оглавление | - |
Тест 118 минут | - | |
Лекция 239 минут | Механизм работы регулярных выражений. Поиск с возвратами
Логика работы регулярных выражений и ее понимание.
Оглавление | - |
Тест 218 минут | - | |
Лекция 346 минут | Дополнительные конструкции в регулярных выражениях
Изучение дополнительных конструкций в регулярных выражениях. В первых двух лекциях мы уже встречались с некоторыми конструкциями, о которых пойдет речь. Здесь мы рассмотрим их более систематически
Оглавление | - |
Тест 318 минут | - | |
Лекция 435 минут | Операторы m// и s///
Рассматриваются модификаторы операторов поиска и замены, алгоритм работы опеаторов m// и s///, режимы работы операторов m// и s///, контекст работы оператора m, модификаторы операторов m// и s///, предварительная обработка регулярных выражений.
Оглавление | - |
Тест 418 минут | - | |
Лекция 542 минуты | Практическое использование операторов m// и s///
Рассматривается поиск отдельных слов, нечувствительных к регистру совпадений, привязка к началу и концу строки и текста, поиск n-го совпадения, поиск множественных совпадений, применение якорей и заглядывания вперед и назад, альтернативных и условных шаблонов, а также вызов функций и вычисление выражений при подстановке текста, модификатор e.
Оглавление | - |
Тест 518 минут | - | |
Лекция 631 минута | Предотвращение зацикливания при поиске и замене. Якорь \G, итеративный поиск с модификаторами g и gc
Выясняются механизмы устранения зацикливаний при использовании квантификаторов *, +, {}, которые применяются к шаблону, соответствующему пустому фрагменту текста; при использовании модификатора g и совпадении с пустыи фрагментом текста. Рассматривается смысл и назначение якоря G, использование этого якоря, назначение модификатора c, итеративный поиск с применением якоря G и модификаторов g и gc, а также создание программ лексического анализа текста с помощью модификаторов gc.
Оглавление | - |
Тест 618 минут | - | |
Лекция 741 минута | Интерполяция переменных и метасимволы \U, \u, \L, \l, \Q, \E
Рассматривается использование переменных внутри регулярных выражений, опасности, связанные с их применением, а также экранирование метасимволов, различие литералов и объектов регулярных выражений.
Оглавление | - |
Тест 718 минут | - | |
Лекция 832 минуты | Пример поиска и подсветки ссылок и e-mail в тексте
Рассматривается построение регулярных выражений для выделения ссылок в тексте в теги HTML.
Оглавление | - |
Тест 818 минут | - | |
Лекция 937 минут | Встроенный код, переменные local и my
Рассматривается применение встроенного кода, ключевое слово local и переменные my, а также статическая и динамическая область видимости и связывание переменных.
Оглавление | - |
Тест 918 минут | - | |
Лекция 1040 минут | Построение эффективных регулярных выражений. Оператор qr/…/ и объекты регулярных выражений.
Рассматриваются объекты регулярных выражений и их использование, повышение эффективности регулярных выражений за счет объектов регулярных выражений.
Оглавление | - |
Тест 1018 минут | - | |
Лекция 1123 минуты | Специальные переменные, используемые в регулярных выражениях
Дается описание смысла и назначения специальных переменных, указывается, когда и как они устанавливаются. Рассматриваются побочные действия регулярных выражений и динамическая видимость, имитация именованного сохранения, а также избавление от "вредных" специальных переменных и предварительного копирования текста.
Оглавление | - |
Тест 1118 минут | - | |
Лекция 1237 минут | Динамические регулярные выражения
Рассматривается применение динамических регулярных выражений при сложном поиске и поиске вложенных конструкций.
Оглавление | - |
Тест 1218 минут | - | |
Лекция 1331 минута | Компиляция регулярных выражений, модификатор o, функция study, хронометраж
Рассматривается механизм компиляции регулярных выражений, обработка литералов, кэширование, модификатор o, его проблемы и эффективность, регулярное выражение по умолчанию, а также хронометраж времени выполнения участков кода и оптимизация регулярных выражений.
Оглавление | - |
Тест 1318 минут | - | |
Лекция 1422 минуты | Оператор split и функция grep
Дается описание работы операторов и встроенных функций Perl, которые используют регулярные выражения.
Оглавление | - |
Тест 1418 минут | - | |
5 часов | - |