Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Регулярные выражения. Библиотека программиста

Дж. Фридл

Издано: 2001, СПб., Питер
Для широкого круга разработчиков
ISBN: 5-318-00056-8
Мягкий переплет, 352 стр.
Формат: 70x100/16

Начало
Краткое содержание
Предисловие
Структура книги
[Заказать книгу в магазине "Мистраль"]

Содержание

Предисловие
  Почему я написал эту книгу
  Для кого написана эта книга
  Как читать эту книгу
    Книга как повесть
    Книга как справочник
  Структура книги
    Вводная часть
    Подробное описание
    Конкретные программы
  Условные обозначения
  Задачи
  Личные комментарии и благодарности
    Мои предшественники
    Прочие благодарности
    Перспективы
  От издательства

Глава 1 Знакомство с регулярными выражениями
  Решение реальных задач
  Регулярные выражения как язык
    Аналогия с файловыми шаблонами
    Аналогия с языками
  Регулярные выражения как особый склад ума
    Поиск в текстовых файлах: egrep
  Метасимволы egrep
    Начало и конец строки
    Символьные классы
    Один произвольный символ
    Выбор
    Границы слов
    В двух словах
    Необязательные элементы
    Другие квантификаторы: повторение
    Игнорирование различий в регистре символов
    Круглые скобки и обратные ссылки
    Экранирование
  Новые горизонты
    Языковая диверсификация
    Смысл регулярного выражения
    Дополнительные примеры
    Терминология регулярных выражений
    Пути к совершенствованию
  Итоги
  Личные заметки

Глава 2 Практическое применение регулярных выражений
  О примерах
    Краткий вводный курс Perl
  Проверка текста с использованием регулярных выражений
    Переходим к реальным примерам
    Побочные эффекты успешных совпадений
    Инвертированный поиск
    Взаимодействие регулярных выражений с логикой программы
    Лирическое отступление
  Модификация текста с использованием регулярных выражений
    Автоматизация редактирования
    Маленькая почтовая утилита
  Задача с повторяющимися словами

Глава 3 Регулярные выражения: диалекты и возможности
  Для чего написана эта глава
  История регулярных выражений
    grep как мировоззрение
    Все течет, все изменяется
  С первого взгляда
    POSIX
  Основные операции с регулярными выражениями
    Идентификация регулярных выражений
    Операции с совпавшим текстом
    Другие примеры
    Итоги
  Механизмы и внешняя отделка
    Отделка и внешний вид
    Двигатели и механика
  Стандартные метасимволы
    Сокращенные обозначения символов
    Строки как регулярные выражения
    Сокращенные обозначения классов, символ
    "точка" и символьные классы
    Якорные метасимволы
    Группировка и сохранение текста
    Квантификаторы
    Конструкция выбора
  Путеводитель по серьезным главам
    Информация о конкретных программах

Глава 4 Механика обработки регулярных выражений
  Запустить двигатели!
    Два вида двигателей
    Новые стандарты
    Типы механизмов регулярных выражений
    С позиций избыточности
  Основы поиска совпадений
    О примерах
    Правило 1: Более раннее совпадение выигрывает
    Смещение текущей позиции поиска
    Компоненты и части двигателя
    Правило 2: Квантификаторы работают максимально
  Механизмы регулярных выражений
    НКА: механизм, управляемый регулярным выражением
    ДКА: механизм, управляемый текстом
    Великая Тайна
  Возврат
    Крошечная аналогия
    Два важных замечания
    Сохраненные состояния
    Возврат и максимализм
  Подробнее о максимализме
    Проблемы максимализма
    Многосимвольные "кавычки"
    Минимализм?
    Максимализм всегда выбирает совпадение
    Максимальна ли конструкция выбора?
    Применение минимальной конструкции выбора
    Максимальный выбор в перспективе
    Символьные классы и конструкция выбора
  НКА, ДКА и POSIX
    "Самое длинное совпадение, ближнее к левому краю"
  Правило "самого длинного совпадения, ближнего
  к левому краю" в POSIX
    Скорость и эффективность
    Сравнение ДКА и НКА
  Методика построения регулярных выражений
    Основные факторы
    Точность формулировки
    Затруднения и непреодолимые препятствия
    Исключение нежелательных совпадений
    Поиск текста в ограничителях
    Данные и предположения
    Еще несколько примеров максимализма
  Итоги
    Итоги по механике поиска
    Примеры практического использования

Глава 5 Построение регулярных выражений
  Убедительный пример
    Простое изменение - начинаем с более вероятного случая
    Локализация максимального поиска
    Возвращение к реальности
  Возврат с глобальной точки зрения
    POSIX НКА - работа продолжается
    Работа механизма при отсутствии совпадения
    Уточнение
    Конструкция выбора может дорого обойтись
    Активный старт
    Влияние круглых скобок
  Внутренние оптимизации
    Исключение по первому символу
    Проверка фиксированных строк
    Простое повторение
    Исключение лишних квантификаторов
    Учет длины текста
    Учет длины совпадения
    Учет границ совпадения
    Границы логических строк/фрагментов
    Кэширование при компиляции
  Определение типа механизма
    Базовый НКА или ДКА?
    Традиционный НКА или POSIX НКА?
  Раскрутка цикла
    Метод 1: построение регулярного выражения
             по результатам тестов
    Общий шаблон "раскрутки цикла"
    Метод 2: структурный анализ
    Метод 3: доменные имена Интернета
    Замечания
  Раскрутка цикла на примере поиска комментариев С
    Проблемы регулярных выражений
    Наивный подход
    Раскрутка выражения для поиска комментариев С
  Исключение случайных совпадений
    Управление поиском совпадения
    Управление поиском = скорость
    Свертка
  Думайте!
     Крутые повороты оптимизации

Глава 6 Регулярные выражения в конкретных программах
  Вопросы, которые вы должны задать
    Даже такие простые программы, как grep
    В этой главе
  Awk
    Различия между диалектами регулярных выражений awk
    Функции и операции awk для работы с регулярными выражениями
  Tcl
    Передача регулярных выражений в операндах Тс1
    Использование регулярных выражений в Тс1
    Оптимизация регулярных выражений Тс1
  GNU Emacs
    Строки Emacs как регулярные выражения
    Диалект регулярных выражений Emacs
    Результаты поиска в Emacs
    Хронометраж в Emacs
    Оптимизация регулярных выражений в Emacs

Глава 7 Регулярные выражения в Perl
  В этой главе
  Путь Perl
    Регулярные выражения как компонент языка
    Самая сильная сторона Perl
    Самая слабая сторона Perl
    Курица, яйцо и Путь Perl
    Ознакомительный пример: анализ текста, разделенного запятыми
    Регулярные выражения и Путь Perl
    Пришествие Perl
  Pеrl'измы из области регулярных выражений
    Контекст выражения
    Динамическая видимость и последствия
    совпадения регулярных выражений
    Специальные переменные, изменяемые при поиске
    Предварительная обработка и интерполяция переменных
  Диалект регулярных выражений Perl
    Квантификаторы - максимальные и минимальные
    Группировка
    Якорные метасимволы
    Привязка к текущей позиции при глобальном поиске
    Границы слов
    Удобные сокращения и другие синтаксические элементы
    Символьные классы
    Изменение регистра символов с применением \Q и аналогов
  Оператор поиска
    Ограничители регулярного выражения-операнда
    Модификаторы поиска
    Определение целевого текста
    Другие побочные эффекты оператора поиска
    Значение, возвращаемое оператором поиска
    Внешние факторы, влияющие на работу оператора поиска
  Оператор подстановки
    Операнд-замена
    Модификатор /е
    Контекст и возвращаемое значение
    Применение модификатора /g с регулярными выражениями,
    которые могут совпадать с пустой строкой
  Оператор разбиения
    Простейшее разбиение
    Нетривиальное разбиение
    Нетривиальное использование первого операнда split
    Оператор split в скалярном контексте
    Сохраняющие круглые скобки в первом операнде split
  Проблемы эффективности в Perl
    У каждой задачи есть несколько решений
    Компиляция регулярных выражений,
    модификатор /о  и эффективность
    Нежелательная переменная $& и ее друзья
    Влияние модификатора/i на эффективность
    Проблемы эффективности подстановок
    Хронометраж
    Отладочная информация регулярных выражений
    Функция study
  Все вместе
    Удаление начальных и конечных пропусков
    Разделение групп разрядов запятыми
    Удаление комментариев С
    Поиск адресов электронной почты
  Последний комментарий
    Примечания, относящиеся к Реr14

Приложение А Ресурсы Интернета
  Общие сведения
    Виртуальная библиотека программ OAK (VSL)
    Архив GNU
    Yahoo!
  Другие ссылки в Web
    Awk
    Библиотеки С
    Классы Java для работы с регулярными выражениями
    Egrep
    Emacs
    Flex
    Perl
    Python
    Tcl
Приложение Б Программа поиска адресов электронной почты

Алфавитный указатель

Начало
Краткое содержание
Предисловие
Структура книги
Заказать книгу в магазине "Мистраль"

 

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...