Подробное неформальное описание синтаксиса и механизма работы регулярных выражений языка Perl с примерами использования от простых к сложным.
Описание с нуля синтаксиса и механизма работы регулярных выражений Perl, алгоритма работы оператора m//, s///, split, всех конструкций, используемых в регулярных выражениях. Сложные случаи применения регулярных выражений (динамические регулярные выражения, использование встроенного кода). Объекты регулярных выражений. Хронометраж и ускорение работы регулярных выражений. Побочные действия регулярных выражений (установка переменных $1, …, @-, @+, $' и т.д.). Учебные и практические примеры использования регулярных выражений. Юникод не рассматривается.
ISBN: 978-5-94774-604-4
Начальное знакомство с регулярными выражениями: одиночные символы, классы символов, альтернативные шаблоны, квантификаторы (числители), их "жадность" и ее ограничение, мнимые символы (якоря), захватывающие скобки и ссылки на найденный текст.
-
Логика работы регулярных выражений и ее понимание.
-
Изучение дополнительных конструкций в регулярных выражениях. В первых двух лекциях мы уже встречались с некоторыми конструкциями, о которых пойдет речь. Здесь мы рассмотрим их более систематически
-
Рассматриваются модификаторы операторов поиска и замены, алгоритм работы опеаторов m// и s///, режимы работы операторов m// и s///, контекст работы оператора m, модификаторы операторов m// и s///, предварительная обработка регулярных выражений.
-
Рассматривается поиск отдельных слов, нечувствительных к регистру совпадений, привязка к началу и концу строки и текста, поиск n-го совпадения, поиск множественных совпадений, применение якорей и заглядывания вперед и назад, альтернативных и условных шаблонов, а также вызов функций и вычисление выражений при подстановке текста, модификатор e.
-
Выясняются механизмы устранения зацикливаний при использовании квантификаторов *, +, {}, которые применяются к шаблону, соответствующему пустому фрагменту текста; при использовании модификатора g и совпадении с пустыи фрагментом текста. Рассматривается смысл и назначение якоря \G, использование этого якоря, назначение модификатора c, итеративный поиск с применением якоря \G и модификаторов g и gc, а также создание программ лексического анализа текста с помощью модификаторов gc.
-
Рассматривается использование переменных внутри регулярных выражений, опасности, связанные с их применением, а также экранирование метасимволов, различие литералов и объектов регулярных выражений.
-
Рассматривается построение регулярных выражений для выделения ссылок в тексте в теги HTML.
-
Рассматривается применение встроенного кода, ключевое слово local и переменные my, а также статическая и динамическая область видимости и связывание переменных.
-
Рассматриваются объекты регулярных выражений и их использование, повышение эффективности регулярных выражений за счет объектов регулярных выражений.
-
Дается описание смысла и назначения специальных переменных, указывается, когда и как они устанавливаются. Рассматриваются побочные действия регулярных выражений и динамическая видимость, имитация именованного сохранения, а также избавление от "вредных" специальных переменных и предварительного копирования текста.
-
Рассматривается применение динамических регулярных выражений при сложном поиске и поиске вложенных конструкций.
-
Рассматривается механизм компиляции регулярных выражений, обработка литералов, кэширование, модификатор o, его проблемы и эффективность, регулярное выражение по умолчанию, а также хронометраж времени выполнения участков кода и оптимизация регулярных выражений.
-
Дается описание работы операторов и встроенных функций Perl, которые используют регулярные выражения.
-