Ешь, двигайся, спи Жесткий подход Дэна Кеннеди Телефоны Бизбук - c 10 до 18 по будним дням
 
Наши проекты:
Вход для зарегистрированных пользователей
Регистрация нового пользователя
Каталог книг Новинки Анонсы Заказы / Корзина Рассылка Оплата и Доставка Контакты
Вы находитесь в разделе каталога:
• Регулярные выражения. 3-е издание, Фридл Дж.


Регулярные выражения. 3-е издание
Регулярные выражения. 3-е издание
Фридл Дж.
Год выпуска: 2018
Изд-во: Питер
ISBN: 978-5-4461-0646-2
Переплёт: мягкий
608 страниц
Цена: 825.00 грн.
Временно отсутствует     Оставить заявку
Книга Джеффри Фридла "Регулярные выражения" откроет перед вами секрет высокой производительности. Тщательно продуманные регулярные выражения помогут избежать долгих часов утомительной работы и решить свои проблемы за 15 секунд. Ставшие стандартной возможностью во многих языках программирования и популярных программных продуктах, включая Perl, PHP, Java, Python, Ruby, MySQL, VB.NET, C# (и других языках платформы .NET), регулярные выражения позволят вам автоматизировать сложную и тонкую обработку текста.

В третье издание включена информация о PHP и его мощном механизме регулярных выражений. Кроме того, обновлены и дополнены сведения о других языках программирования, включая расширенное и углубленное описание пакета java.util.regex компании Sun, при этом особое внимание уделено различиям между Java 1.4.2 и Java 1.5/1.6.

Написанное простым и доступным языком, это издание позволит программистам легко разобраться в столь сложной теме. Рассматривается принцип действия механизма регулярных выражений, сравниваются функциональные возможности различных языков программирования и инструментальных средств, подробно обсуждается оптимизация, которая дает основную экономию времени! Вы научитесь правильно конструировать регулярные выражения для самых разных ситуаций, а большое число сложных примеров даст возможность сразу же использовать предлагаемые ответы для выработки элегантных и экономичных практических решений широкого круга проблем.

Последние главы книги посвящены конкретным языкам программирования. Кроме того, автор демонстрирует наиболее распространенные ошибки и показывает, как их избежать.

Об авторе

Джеффри Фридл (Jeffrey E. F. Friedl) родился в поселке Рутстаун, штат Огайо. Он хотел стать астрономом до того дня, когда обратил внимание на TRS-80 Model I, стоявший без дела в углу химической лаборатории (имевший никак не меньше 16 Кбайт оперативной памяти). В результате с 1980 года он начал работать в операционной системе UNIX (и использовать регулярные выражения). Обучался информатике в Кенте (где получил степень бакалавра) и в университете Нью Хемпшира (степень магистра), после чего в течение восьми лет занимался разработкой ядра для корпорации Omron в Киото, Япония. В 1997 году Джеффри переехал в Кремниевую долину, где стал применять свои знания регулярных выражений в обработке финансовых новостей и данных для малоизвестной тогда компании под названием Yahoo!. В апреле 2004 года вместе с женой и сыном он вернулся в Киото.
Все свое свободное время Джеффри любит проводить со своей женой Фумиэ (Fumie) и с удивительно энергичным трехлетним сыном Энтони (Anthony). Кроме того, он увлекается фотосъемкой Киото, богатого на памятники культуры.



Содержание книги Джеффри Фридла "Регулярные выражения"





Оглавление
Предисловие
Глава 1. Знакомство с регулярными выражениями
Решение реальных задач
Регулярные выражения как язык
Аналогия с файловыми шаблонами
Аналогия с языками
Регулярные выражения как особый склад ума
Для читателей, имеющих опыт работы с регулярными выражениями
Поиск в текстовых файлах: egrep
Метасимволы egrep
Начало и конец строки
Символьные классы
Один произвольный символ
Выбор
Игнорирование различий в регистре символов
Границы слов
В двух словах
Необязательные элементы
Другие квантификаторы: повторение
Круглые скобки и обратные ссылки
Экранирование
Новые горизонты
Языковая диверсификация
Смысл регулярного выражения
Дополнительные примеры
Терминология регулярных выражений
Пути к совершенствованию
Итоги
Личные заметки9
Глава 2. Дополнительные примеры
О примерах
Краткий курс Perl
Поиск по регулярному выражению
Переходим к реальным примерам
Побочные эффекты успешных совпадений
Взаимодействие регулярных выражений с логикой программы
Лирическое отступление
Модификация текста с использованием регулярных выражений
Пример: письмо на стандартном бланке
Пример: обработка биржевых котировок
Автоматизация редактирования
Маленькая почтовая утилита
Разделение разрядов числа запятыми
Преобразование текста в HTML
Задача с повторяющимися словами
Глава 3. Регулярные выражения: возможности и диалекты
История регулярных выражений
Происхождение регулярных выражений
На первый взгляд
Основные операции с регулярными выражениями
Интегрированный интерфейс
Процедурный и объектно-ориентированный интерфейс
Поиск с заменой
Поиск и замена в других языках
Итоги
Строки, кодировки и режимы
Строки как регулярные выражения
Проблемы кодировки символов
Юникод
Режимы обработки регулярных выражений и поиска совпадений
Стандартные метасимволы и возможности
Представления символов
Символьные классы и их аналоги
Якорные метасимволы и другие проверки с нулевой длиной совпадения
Комментарии и модификаторы режимов
Группировка, сохранение, условные и управляющие конструкции
Путеводитель по серьезным главам
Глава 4. Механика обработки регулярных выражений
Запустить двигатели!
Два вида двигателей
Новые стандарты
Типы механизмов регулярных выражений
С позиций избыточности
Определение типа механизма
Основы поиска совпадений
О примерах
Правило 1: более раннее совпадение выигрывает
Компоненты и части двигателя
Правило 2: квантификаторы работают максимально
Механизмы регулярных выражений
НКА: механизм, управляемый регулярным выражением
ДКА: механизм, управляемый текстом
Сравнение двух механизмов
Возврат
Крошечная аналогия
Два важных замечания
Сохраненные состояния
Возврат и максимализм
Подробнее о максимализме и о возврате
Проблемы максимализма
Многосимвольные "кавычки"
Минимальные квантификаторы
Максимальные и минимальные конструкции всегда выбирают совпадение
О сущности максимализма, минимализма и возврата
Захватывающие квантификаторы и атомарная группировка
Захватывающие квантификаторы ?+, *+, ++ и {max,min}+
Возврат при позиционной проверке
Максимальна ли конструкция выбора?
Использование упорядоченного выбора
НКА, ДКА и POSIX
"Самое длинное совпадение, ближнее к левому краю"
POSIX и правило "самого длинного совпадения, ближнего к левому краю"
Скорость и эффективность
Сравнение ДКА и НКА
Итоги
Глава 5. Практические приемы построения регулярных выражений
Балансировка регулярных выражений
Несколько коротких примеров
Снова о строках продолжения
Поиск IP-адреса
Работа с именами файлов
Поиск парных скобок
Исключение нежелательных совпадений
Поиск текста в ограничителях
Данные и предположения
Удаление пропусков в начале и конце строки
Работа с HTML
Поиск тегов HTML
Поиск ссылок HTML
Анализ HTTP URL
Проверка имени хоста
Поиск URL на практике
Нетривиальные примеры
Синхронизация
Разбор данных, разделенных запятыми
Глава 6. Построение эффективных регулярных выражений
Убедительный пример
Простое изменение - начинаем с более вероятного случая
Эффективность и правильность
Следующий шаг - локализация максимального поиска
Возвращение к реальности
Возврат с глобальной точки зрения
POSIX НКА - работа продолжается
Работа механизма при отсутствии совпадения
Уточнение
Конструкция выбора может дорого обойтись
Хронометраж
Зависимость результатов хронометража от данных
Хронометраж в языке PHP
Хронометраж в языке Java
Хронометраж в языке VB.NET
Хронометраж в языке Ruby
Хронометраж в языке Python
Хронометраж в языке Tcl
Стандартные оптимизации
Ничто не дается бесплатно
Универсальных истин не бывает
Механика применения регулярных выражений
Предварительные оптимизации
Оптимизации при смещении текущей позиции
Оптимизации на уровне регулярных выражений
Приемы построения быстрых выражений
Приемы, основанные на здравом смысле
Выделение литерального текста
Выделение якорей
Выбор между минимальными и максимальными квантификаторами
Разделение регулярных выражений
Имитация исключения по первому символу
Использование атомарной группировки и захватывающих квантификаторов
Руководство процессом поиска
Раскрутка цикла
Метод 1: построение регулярного выражения по результатам тестов
Общий шаблон "раскрутки цикла"
Метод 2: структурный анализ
Метод 3: имена хостов Интернета
Замечания
Применение атомарной группировки и захватывающих квантификаторов
Примеры раскрутки цикла
Раскрутка комментариев С
Исключение случайных совпадений
Управление поиском совпадения
Управление поиском = скорость
Свертка
Вывод: думайте!
Глава 7. Perl
Регулярные выражения как компонент языка
Самая сильная сторона Perl
Самая слабая сторона Perl
Диалект регулярных выражений Perl
Регулярные выражения - операнды и литералы
Порядок обработки литералов регулярных выражений
Модификаторы регулярных выражений
Реrl'измы из области регулярных выражений
Контекст выражения
Динамическая видимость и последствия совпадения регулярных выражений
Специальные переменные, изменяемые при поиске
Оператор qr/.../ и объекты регулярных выражений
Построение и использование объектов регулярных выражений
Просмотр содержимого объектов регулярных выражений
Объекты регулярных выражений и повышение эффективности
Оператор поиска
Операнд регулярное выражение
Операнд целевой текст
Варианты использования оператора поиска
Интерактивный поиск - скалярный контекст с модификатором /g
Внешние связи оператора поиска
Оператор подстановки
Операнд-замена
Модификатор /e
Контекст и возвращаемое значение
Оператор разбиения
Простейшее разбиение
Возвращение пустых элементов
Специальные значения первого операнда split
Сохраняющие круглые скобки в первом операнде split
Специфические возможности Perl
Применение динамических регулярных выражений для поиска вложенных конструкций
Встроенный код
Ключевое слово local во встроенном коде
Встроенный код и переменные my
Поиск вложенных конструкций
Перегрузка литералов регулярных выражений
Ограничения перегрузки литералов регулярных выражений
Имитация именованного сохранения
Проблемы эффективности в Perl
У каждой задачи есть несколько решений
Компиляция регулярных выражений, модификатор /о, qr/.../ и эффективность
Предварительное копирование
Функция study
Хронометраж
Отладочная информация регулярных выражений
Последний комментарий
Глава 8. Java
Диалект регулярных выражений
Поддержка конструкций p{...} и P{...} в Java
Завершители строк Юникода
Использование пакета java.util.regex
Метод Pattern.compile()
Метод Pattern.matcher()
Объект Matcher
Применение регулярного выражения
Получение информации о результатах
Простой поиск с заменой
Расширенный поиск с заменой
Поиск с заменой по месту
Область в объекте Matcher
Объединение методов в конвейер
Методы для построения сканеров
Другие методы Matcher
Другие методы Pattern
Метод split класса Pattern с одним аргументом
Метод split класса Pattern с двумя аргументами
Дополнительные примеры
Добавление атрибутов WIDTH и HEIGHT в теги
Проверка корректности HTML-кода с использованием нескольких регулярных выражений на один объект Matcher
Разбор данных CSV
Различия между версиями Java
Различия между 1.4.2 и 1.5.0
Различия между 1.5.0 и 1.6.0
Глава 9. .NET
Диалект регулярных выражений .NET
Замечания по поводу диалекта .NET
Использование регулярных выражений в .NET
Основные принципы работы с регулярными выражениями
Общие сведения о пакете
Краткая сводка основных объектов
Основные объекты
Создание объектов Regex
Использование объектов Regex
Использование объектов Match
Использование объектов Group
Статические вспомогательные функции
Кэширование регулярных выражений
Дополнительные функции
Нетривиальные возможности .NET
Сборки регулярных выражений
Поиск вложенных конструкций
Объект Capture
Глава 10. PHP
Диалект регулярных выражений PHP
Функциональный интерфейс механизма preg
Аргумент "шаблон"
Функции preg
preg_match_all
preg_replace
preg_replace_callback
preg_split
preg_grep
preg_quote
"Недостающие" функции preg
preg_regex_to_pattern
Проверка синтаксиса неизвестного шаблона
Проверка синтаксиса неизвестного регулярного выражения
Рекурсивные регулярные выражения
Поиск совпадений с вложенными круглыми скобками
Никаких возвратов в рекурсии
Совпадение с парой вложенных скобок
Вопросы эффективности в PHP
Модификатор шаблона S: "Study"
Расширенные примеры
Разбор данных в формате CVS в PHP
Проверка тегированных данных на корректность вложенных конструкций
Алфавитный указатель




Отзывы



"Если вы используете регулярные выражения в своей профессиональной деятельности, я настоятельно рекомендую вам пробрести эту книгу (даже если у вас уже есть хорошие книги по языкам программирования, с которыми вы работаете)".
- Крис Браун (Chris Brown), Linux Format


"Книга "Регулярные выражения" - бесценный источник информации и самое полное руководство по данной теме, которое должно стоять на книжной полке каждого программиста, без исключений".
- Джейсон Менард (Jason Menard), Java Ranch


"Нет книги лучше (или полезнее) по теме регулярных выражений".
- Зак Гринт (Zak Greant), Planet PHP


Больше, чем я ожидал
"Я занимаюсь разработкой программного обеспечения уже более 7 лет и только в последний год понастоящему начал использовать регулярные выражения. Конечно, можно обойтись и без регулярных выражений, но, владея ими, вы поднимаетесь на более высокий профессиональный уровень. Программный код становится лаконичным, и читать такой код - одно удовольствие.
Я не читал книгу полностью, поскольку в последних главах рассматриваются особенности, характерные для определенных языков программирования, таких как Java, Perl, PHP и других, но у меня не заняло много времени научиться применять полученные знания в конкретных проектах. Первые преимущества я стал извлекать уже после прочтения первой главы. Работать стало намного легче.
Книгу стоит купить уже ради первых трех глав. Автор в превосходной манере объясняет читателю, что происходит за кулисами, и учит, как правильно конструировать регулярные выражения для самых разных ситуаций. Кроме того, он демонстрирует наиболее распространенные ошибки и показывает, как их избежать. Материал излагается очень подробно и многопланово.
Настоятельно рекомендую к прочтению". (amazon)


Лучшая книга о регулярных выражениях, которую я когда-либо читал.
"До того как эта книга попала мне в руки, я считал, что довольно неплохо знаю регулярные выражения. После прочтения первых двух глав я понял, насколько скудными были мои знания. Уже после прочтения первых пяти глав мой уровень существенно вырос. Такого подробного пошагового анализа процесса поиска совпадений, который приводит Джеффри Фридл, мне еще видеть не доводилось. Чтобы упростить этот анализ для читателя, он использует такие мелочи, как круглые скобки для выделения частей регулярных выражений, а также изображение маленького курсора, показывающего, в какой позиции находится механизм регулярных выражений после каждого шага. Я с большим нетерпением приступал к чтению каждой новой главы. Спасибо за настоящее произведение искусства!"
(amazon)


Отличная информация
"Многие используют регулярные выражения в весьма ограниченном объеме, будучи не в состоянии заставить работать сколько-нибудь сложные выражения. На то есть масса причин: ограниченные возможности командных оболочек, слишком краткие и туманные объяснения в страницах справочного руководства и другие. Эта книга очень легко читается и представляет собой ясное и понятное руководство, описывающее практические приемы создания и области применения регулярных выражений, что позволит читателю извлечь максимум выгоды от использования grep, awk, Perl и других продуктов, где могут применяться регулярные выражения".
(amazon)

С этой книгой чаще всего покупают:
Регулярные выражения: основы

Регулярные выражения: основы

Майкл Фицджеральд
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
 
Релевантный поиск с использованием Elasticsearch и Solr

Релевантный поиск с использованием Elasticsearch и Solr

Берримен Дж., Тарнбулл Д.
Год выпуска: 2018
Изд-во: ДМК
Временно отсутствует Оставить заявку
Цена: 265.00 грн. 
 
Цена: 1030.00 грн. 

Хотите оставить отзыв? У Вас возникли вопросы о книге "Регулярные выражения. 3-е издание, Фридл Дж." ? Пишите:

* Текст сообщения:
 
  Отправить
Поиск по каталогу
 поиск в аннотациях
Искать

* Подробнее об условиях доставки смотрите в разделе "Оплата и Доставка" нашего магазина.
Если у Вас возникли вопросы как подобрать и купить книги в нашем интернет-магазине звоните с 9 до 18 по будним дням: Киев 331-04-53, Водафон (050) 809-56-66, Киевстар (067) 408-26-36, Лайф (063) 227-24-47, Интертелеком (094) 831-04-53 или пишите нам

 
   
  Programming - Dmitriy Kotov & Andrey Kotov