Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Структура книги
Семь глав этой книги условно делятся на три логические части.
Вводная часть
В главе 1 представлены основные концепции регулярных выражений.
В главе 2 рассматривается применение регулярных выражений при обработке текста.
В главе 3 приводится обзор диалектов регулярных выражений, а также некоторые исторические сведения.
Подробное описание
В главе 4 подробно рассмотрен механизм обработки регулярных выражений.
В главе 5 проанализированы некоторые последствия и практические применения материала главы 4.
Конкретные программы
Глава 6 посвящена специфике диалектов регулярных выражений в некоторых распространенных программах.
В главе 7 описаны все аспекты Perl, относящиеся к работе с регулярными выражениями.
Приложения
В приложении А вы узнаете, где найти многие программы, упоминаемые в книге.
В приложении Б приведен полный текст программы, созданной в главе 7.
Вводная часть
Первая часть книги дает новичкам представление о рассматриваемой теме. Более опытные читатели могут пропустить начальные главы, хотя я настоятельно рекомендую прочитать главу 3 даже самым закаленным ветеранам.
- Глава 1, "Знакомство с регулярными выражениями", написана для стопроцентного новичка. Читатель познакомится с концепцией регулярных выражений на примере распространенной программы egrep. Я постарался изложить свое видение того, как мыслить регулярными выражениями, закладывая тем самым надежную основу для нетривиального материала следующих глав. Даже читателям, имеющим опыт работы с регулярными выражениями, стоит просмотреть первую главу.
- В главе 2, "Практическое применение регулярных выражений", рассматривается практическая обработка текста в языках программирования с поддержкой регулярных выражений. Дополнительные примеры помогут лучше разобраться в сложном материале следующих глав и продемонстрируют некоторые важные принципы мышления, используемые при построении сложных регулярных выражений. Чтобы читатель лучше представил, как "мыслить регулярными выражениями", в этой главе будет рассмотрена нетривиальная задача и показаны пути ее решения в двух разных программах с поддержкой регулярных выражений.
- В главе 3, "Регулярные выражения: диалекты и возможности", приведен обзор всевозможных диалектов регулярных выражений, встречающихся в современных программах. Эволюция регулярных выражений проходила довольно бурно, поэтому многие диалекты, распространенные в наши дни, заметно отличаются друг от друга. В этой главе описана история, а также процесс эволюции регулярных выражений и тех программ, в которых они используются. В конце главы приведен краткий "Путеводитель по серьезным главам". Это своего рода "карта", при помощи которой вы сможете извлечь максимум пользы из нетривиального материала следующих глав.
Подробное описание
Разобравшись с основными принципами, мы переходим к поиску ответов на вопросы "как?" и "почему?". При полном понимании этого материала вы сможете применять полученные знания везде, где регулярные выражения приносят пользу.
- С главы 4, "Механика обработки регулярных выражений", начинается изложение основного материала этой книги. В ней важные принципы внутренней работы механизма регулярных выражений рассматриваются с практической точки зрения. Тот, кто разберется во всех тонкостях процесса обработки регулярных выражений, пройдет большую часть пути к вершинам мастерства.
- В главе 5, "Построение регулярных выражений", рассматриваются специфические аспекты механизмов регулярных выражений, реализованных в популярных утилитах и языках программирования - Perl, sed, grер, Tcl, Python, Expect, Emacs и т. д. Руководствуясь материалом, подробно изложенным в главе 4, вы научитесь использовать сильные стороны каждого механизма и узнаете, как обходить их недостатки.
Конкретные программы
Если вы хорошо усвоили материал глав 4 и 5, то разобраться в специфике любой конкретной реализации обычно бывает несложно. Впрочем, одному замечательному исключению - языку Perl - я посвятил целую главу. И все же реализации отличаются друг от друга, и при работе с ними приходится учитывать некоторые важные особенности.
- В главе 6, "Регулярные выражения в конкретных программах", рассматриваются специфические особенности разных программ. Особое внимание уделяется тем возможностям, которые изменяются от программы к программе. Программы awk, Tcl и GNU Emacs рассматриваются более подробно, чем в предыдущих общих главах.
- Глава 7, "Регулярные выражения в Perl", посвящена языку Perl - вероятно, самому популярному из всех современных языков программирования с поддержкой регулярных выражений. В Perl существует всего три оператора для работы с регулярными выражениями, однако из-за бесчисленных режимов, особых случаев и т. д. перед программистом открываются широчайшие возможности, в которых кроются многочисленные ловушки. Богатство возможностей, позволяющее быстро перейти от концепции к программе, превращается в "минное поле" для начинающих программистов. Надеюсь, подробное изложение материала этой главы поможет вам преодолеть все трудности.
Задачи
Время от времени - особенно в начальных главах - я задаю вопросы, напрямую связанные с обсуждаемыми концепциями. Не стоит полагать, что задачи просто занимают место в книге; я действительно хочу, чтобы вы решили их, прежде чем двигаться дальше. Пожалуйста, не ленитесь. Я постарался не преувеличивать их значение, и задачи встречаются не так уж часто. Кроме того, по ним можно оценить степень понимания материала. Если для решения задачи вам потребовалось больше нескольких секунд, вероятно, перед тем как продолжать чтение, лучше вернуться к соответствующему разделу и перечитать его заново.
Я постарался по возможности упростить поиск ответов. Все, что от вас требуется - перевернуть страницу. Ответы на вопросы, помеченные знаком v, всегда находятся на следующей странице. Пока вы размышляете над вопросом, ответы не видны, но добраться до них проще простого.
Начало
Краткое содержание
Полное содержание
Предисловие
Заказать книгу в магазине "Мистраль"