RUSSIAN

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

Book information

Publisher
Питер
Year
2018
ISBN
9785446106462
Language
russian
Format
PDF
Filesize
9 MB (9501401 bytes)
Series
Бестселлеры O’REILLY
Edition
3
Pages
608\608
Time added
2020-01-13 20:16:10

Description

Вы никогда не пользовались регулярными выражениями? Откройте мир regex, и станьте профессионалом, способным эффективно работать с данными в Java, JavaScript, C, C++, C#, Perl, Python, Ruby, PHP и других языках программирования. Международный бестселлер знакомит с фундаментальными основами регулярных выражений, функциональными возможностями языков программирования и позволяет оптимизировать работу с информацией. Вы научитесь самостоятельно конструировать регулярные выражения и использовать приведенные в книге примеры для быстрого решения самых актуальных задач. «Незаменимая книга для волшебников текстовой обработки и новичков regex». - Пол Хадсон, Linux Format Почему я написал эту книгу......Page 16 Для кого написана эта книга......Page 17 Структура книги......Page 18 Конкретные программы......Page 20 Условные обозначения......Page 21 Упражнения......Page 22 Личные комментарии и благодарности......Page 23 От издательства......Page 24 Глава 1. Знакомство с регулярными выражениями......Page 25 Решение реальных задач......Page 26 Аналогия с файловыми шаблонами......Page 28 Аналогия с языками......Page 29 Для читателей, имеющих опыт работы с регулярными выражениями......Page 30 Поиск в текстовых файлах: egrep......Page 31 Метасимволы egrep......Page 32 Символьные классы......Page 33 Один произвольный символ......Page 36 Выбор......Page 37 Границы слов......Page 40 В двух словах......Page 42 Необязательные элементы......Page 43 Другие квантификаторы: повторение......Page 44 Круглые скобки и обратные ссылки......Page 47 Экранирование......Page 49 Смысл регулярного выражения......Page 50 Дополнительные примеры......Page 51 Терминология регулярных выражений......Page 54 Пути к совершенствованию......Page 58 Заключение......Page 60 Личные заметки......Page 62 Глава 2. Дополнительные примеры......Page 63 О примерах......Page 64 Краткий курс Perl......Page 65 Поиск по регулярному выражению......Page 66 Побочные эффекты успешных совпадений......Page 69 Взаимодействие регулярных выражений с логикой программы......Page 72 Лирическое отступление......Page 79 Модификация текста с использованием регулярных выражений......Page 80 Пример: письмо на стандартном бланке......Page 81 Пример: обработка биржевых котировок......Page 82 Автоматизация редактирования......Page 83 Маленькая почтовая утилита......Page 84 Разделение разрядов числа запятыми......Page 91 Преобразование текста в HTML......Page 101 Задача с повторяющимися словами......Page 112 Глава 3. Регулярные выражения: возможности и диалекты......Page 118 Происхождение регулярных выражений......Page 120 На первый взгляд......Page 128 Основные операции с регулярными выражениями......Page 130 Интегрированный интерфейс......Page 131 Процедурный и объектно-ориентированный интерфейс......Page 132 Поиск с заменой......Page 136 Поиск и замена в других языках......Page 138 Строки как регулярные выражения......Page 140 Проблемы кодировки символов......Page 145 Юникод......Page 146 Режимы обработки регулярных выражений и поиска совпадений......Page 150 Стандартные метасимволы и возможности......Page 154 Представления символов......Page 156 Символьные классы и их аналоги......Page 161 Якорные метасимволы и другие проверки с нулевой длиной совпадения......Page 175 Комментарии и модификаторы режимов......Page 182 Группировка, сохранение, условные и управляющие конструкции......Page 184 Путеводитель по серьезным главам......Page 191 Два вида двигателей......Page 192 Новые стандарты......Page 193 Типы механизмов регулярных выражений......Page 194 С позиций избыточности......Page 195 Определение типа механизма......Page 196 О примерах......Page 197 Правило 1: более раннее совпадение выигрывает......Page 198 Компоненты и части двигателя......Page 199 Правило 2: квантификаторы работают максимально......Page 201 НКА: механизм, управляемый регулярным выражением......Page 204 ДКА: механизм, управляемый текстом......Page 206 Сравнение двух механизмов......Page 207 Крошечная аналогия......Page 209 Два важных замечания......Page 210 Сохраненные состояния......Page 211 Возврат и максимализм......Page 214 Проблемы максимализма......Page 217 Многосимвольные «кавычки»......Page 218 Минимальные квантификаторы......Page 219 Максимальные и минимальные конструкции всегда выбирают совпадение......Page 221 О сущности максимализма, минимализма и возврата......Page 222 Захватывающие квантификаторы и атомарная группировка......Page 223 Захватывающие квантификаторы ?+, *+, ++ и {max, min}+......Page 227 Возврат при позиционной проверке......Page 228 Максимальна ли конструкция выбора?......Page 229 Использование упорядоченного выбора......Page 230 «Самое длинное совпадение, ближнее к левому краю»......Page 233 POSIX и правило «самого длинного совпадения, ближнего к левому краю»......Page 234 Скорость и эффективность......Page 235 Сравнение ДКА и НКА......Page 237 Итоги......Page 240 Глава 5. Практические приемы построения регулярных выражений......Page 242 Снова о строках продолжения......Page 243 Поиск IP-адреса......Page 244 Работа с именами файлов......Page 247 Поиск парных скобок......Page 251 Исключение нежелательных совпадений......Page 253 Поиск текста в ограничителях......Page 254 Удаление пропусков в начале и конце строки......Page 258 Поиск тегов HTML......Page 260 Поиск ссылок HTML......Page 261 Анализ HTTP URL......Page 263 Проверка имени хоста......Page 265 Поиск URL на практике......Page 267 Синхронизация......Page 271 Разбор данных, разделенных запятыми......Page 275 Глава 6. Построение эффективных регулярных выражений......Page 283 Убедительный пример......Page 284 Простое изменение — начинаем с более вероятного случая......Page 285 Следующий шаг — локализация максимального поиска......Page 286 Возвращение к реальности......Page 289 Возврат с глобальной точки зрения......Page 291 POSIX НКА — работа продолжается......Page 292 Работа механизма при отсутствии совпадения......Page 293 Уточнение......Page 294 Хронометраж......Page 295 Хронометраж в языке PHP......Page 298 Хронометраж в языке Java......Page 299 Хронометраж в языке VB.NET......Page 301 Хронометраж в языке Ruby......Page 302 Хронометраж в языке Python......Page 303 Хронометраж в языке Tcl......Page 304 Ничто не дается бесплатно......Page 305 Механика применения регулярных выражений......Page 306 Предварительные оптимизации......Page 308 Оптимизации при смещении текущей позиции......Page 312 Оптимизации на уровне регулярных выражений......Page 314 Приемы построения быстрых выражений......Page 320 Приемы, основанные на здравом смысле......Page 322 Выделение литерального текста......Page 323 Выделение якорей......Page 324 Разделение регулярных выражений......Page 325 Имитация исключения по первому символу......Page 327 Использование атомарной группировки и захватывающих квантификаторов......Page 328 Руководство процессом поиска......Page 329 Раскрутка цикла......Page 330 Метод 1: построение регулярного выражения по результатам тестов......Page 331 Общий шаблон «раскрутки цикла»......Page 333 Метод 3: имена хостов Интернета......Page 337 Применение атомарной группировки и захватывающих квантификаторов......Page 339 Примеры раскрутки цикла......Page 341 Раскрутка комментариев С ......Page 343 Исключение случайных совпадений......Page 349 Управление поиском совпадения......Page 350 Управление поиском = скорость......Page 352 Свертка......Page 354 Вывод: думайте!......Page 355 Глава 7. Perl......Page 356 Регулярные выражения как компонент языка......Page 358 Диалект регулярных выражений Perl......Page 360 Регулярные выражения — операнды и литералы......Page 363 Порядок обработки литералов регулярных выражений......Page 367 Модификаторы регулярных выражений......Page 368 Реrl'измы из области регулярных выражений......Page 369 Контекст выражения......Page 370 Динамическая видимость и последствия совпадения регулярных выражений......Page 371 Специальные переменные, изменяемые при поиске......Page 376 Оператор qr/…/ и объекты регулярных выражений......Page 381 Построение и использование объектов регулярных выражений......Page 382 Просмотр содержимого объектов регулярных выражений......Page 384 Оператор поиска......Page 385 Операнд регулярное выражение......Page 386 Операнд целевой текст......Page 387 Варианты использования оператора поиска......Page 389 Интерактивный поиск — скалярный контекст с модификатором /g......Page 392 Внешние связи оператора поиска......Page 398 Операнд-замена......Page 400 Модификатор /e......Page 401 Оператор разбиения......Page 403 Простейшее разбиение......Page 404 Возвращение пустых элементов......Page 406 Специальные значения первого операнда split......Page 408 Сохраняющие круглые скобки в первом операнде split......Page 409 Специфические возможности Perl......Page 410 Применение динамических регулярных выражений для поиска вложенных конструкций......Page 412 Встроенный код......Page 415 Ключевое слово local во встроенном коде......Page 421 Встроенный код и переменные my......Page 424 Поиск вложенных конструкций......Page 426 Перегрузка литералов регулярных выражений......Page 428 Ограничения перегрузки литералов регулярных выражений......Page 431 Имитация именованного сохранения......Page 433 Проблемы эффективности в Perl......Page 435 У каждой задачи есть несколько решений......Page 436 Компиляция регулярных выражений, модификатор /о, qr/…/ и эффективность......Page 438 Предварительное копирование......Page 444 Функция study......Page 449 Хронометраж......Page 450 Отладочная информация регулярных выражений......Page 451 Последний комментарий......Page 454 Глава 8. Java......Page 456 Диалект регулярных выражений......Page 457 Поддержка конструкций \p{…} и \P{…} в Java......Page 460 Завершители строк Юникода......Page 462 Использование пакета java.util.regex......Page 463 Метод Pattern.compile()......Page 464 Метод Pattern.matcher()......Page 465 Объект Matcher......Page 466 Применение регулярного выражения......Page 468 Получение информации о результатах......Page 470 Простой поиск с заменой......Page 472 Расширенный поиск с заменой......Page 475 Поиск с заменой по месту......Page 477 Область в объекте Matcher......Page 479 Объединение методов в конвейер......Page 486 Методы для построения сканеров......Page 487 Другие методы Matcher......Page 490 Другие методы Pattern......Page 492 Метод split класса Pattern с одним аргументом......Page 493 Метод split класса Pattern с двумя аргументами......Page 494 Добавление атрибутов WIDTH и HEIGHT в теги ......Page 496 Проверка корректности HTML-кода с использованием нескольких регулярных выражений на один объект Matcher......Page 498 Разбор данных CSV......Page 499 Различия между 1.4.2 и 1.5.0......Page 502 Различия между 1.5.0 и 1.6.0......Page 504 Глава 9. .NET......Page 505 Диалект регулярных выражений .NET......Page 506 Замечания по поводу диалекта .NET......Page 510 Основные принципы работы с регулярными выражениями......Page 515 Общие сведения о пакете......Page 518 Краткая сводка основных объектов......Page 519 Основные объекты......Page 521 Создание объектов Regex......Page 522 Использование объектов Regex......Page 525 Использование объектов Match......Page 534 Использование объектов Group......Page 535 Статические вспомогательные функции......Page 536 Кэширование регулярных выражений......Page 537 Дополнительные функции......Page 538 Сборки регулярных выражений......Page 540 Поиск вложенных конструкций......Page 541 Объект Capture......Page 544 Глава 10. PHP......Page 546 Диалект регулярных выражений PHP......Page 548 Функциональный интерфейс механизма preg......Page 551 Аргумент «шаблон»......Page 552 preg_match......Page 559 preg_match_all......Page 565 preg_replace......Page 571 preg_replace_callback......Page 577 preg_split......Page 580 preg_grep......Page 586 preg_quote......Page 587 preg_regex_to_pattern......Page 588 Проверка синтаксиса неизвестного шаблона......Page 591 Поиск совпадений с вложенными круглыми скобками......Page 593 Совпадение с парой вложенных скобок......Page 596 Модификатор шаблона S: «Study»......Page 597 Разбор данных в формате CVS в PHP......Page 600 Проверка тегированных данных на корректность вложенных конструкций......Page 601

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

2022 · PDF