Регулярные выражения. Сборник рецептов

Regular Expressions: Cookbook
Название в оригиналеRegular Expressions: Cookbook
ИздательствоСимвол
Год издания2015
Страниц704
ПереплетМягкая обложка
ИзданиеВторое издание
Формат70х100/16 (170х240 мм, увеличенный)
ISBN978-5-93286-221-6
ИзготовительООО "Издательство "Символ-плюс". 193144, РФ, г. Санкт-Петербург, ул. 5-я Советская, 44/59
ИмпортерООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

Книга ведущих экспертов по регулярным выражениям содержит все необходимое для решения широкого спектра практических задач в виде более 140 проверенных рецептов. С ее помощью новички смогут обрести базовые навыки и освоить основные инструменты, а программисты и опытные пользователи найдут в ней множество важных мелочей.

Книга ведущих экспертов по регулярным выражениям содержит все необходимое для решения широкого спектра практических задач в виде более 140 проверенных рецептов. С ее помощью новички смогут обрести базовые навыки и освоить основные инструменты, а программисты и опытные пользователи найдут в ней множество важных мелочей. Каждый рецепт содержит шаблоны, пригодные для немедленного использования.

Второе обновленное издание охватывает диалекты регулярных выражений, используемые в восьми языках программирования: C#, Java, JavaScript, Perl, PHP, Python, Ruby и VB.NET. Вы познакомитесь с новыми приемами, научитесь обходить ловушки, имеющиеся в разных диалектах, и благодаря огромной библиотеке готовых решений сможете сэкономить свое время.

С помощью этой книги вы:

  • Усвоите основы регулярных выражений благодаря подробному учебному руководству
  • Научитесь использовать регулярные выражения в любом из рассматриваемых языков программирования
  • Познакомитесь с отличиями диалектов регулярных выражений в разных языках программирования
  • Узнаете, как проверять и форматировать ввод пользователя
  • Овладеете приемами поиска и обработки слов, специальных символов и строк текста
  • Научитесь выявлять целые и вещественные числа в различных форматах представления
  • Познакомитесь с приемами парсинга исходного программного кода и файлов журналов
  • Найдете решения по использованию регулярных выражений для работы с адресами URL, путями и IP-адресами
  • Овладеете приемами работы с разметкой HTML, XML и с форматами обмена данными
  • Познакомитесь с малоизвестными особенностями регулярных выражений и приемами их использования

Содержание

  • Оглавление
  • Предисловие
  • Глава 1. Введение в регулярные выражения. Определение регулярных выражений. Поиск с заменой с помощью регулярных выражений. Инструменты для работы с регулярными выражениями
  • Глава 2. Основные навыки владения регулярными выражениями
    • 2.1. Соответствие литеральному тексту
    • 2.2. Соответствие непечатным символам
    • 2.3. Сопоставление с одним символом из нескольких
    • 2.4. Сопоставление с любым символом
    • 2.5. Сопоставление в начале и/или в конце строки
    • 2.6. Сопоставление с целыми словами
    • 2.7. Кодовые пункты Юникода, категории, блоки и алфавиты
    • 2.8. Сопоставление с одной из нескольких альтернатив
    • 2.9. Группы и сохранение части совпадения
    • 2.10. Повторный поиск соответствия с ранее совпавшим текстом
    • 2.11. Сохранение и именованные части совпадения
    • 2.12. Повторение части регулярного выражения определенное число раз
    • 2.13. Выбор минимального или максимального числа повторений
    • 2.14. Устранение бесполезных возвратов
    • 2.15. Предотвращение бесконтрольных повторений
    • 2.16. Проверка соответствия без включения его в общее соответствие
    • 2.17. Совпадение с одной из двух альтернатив по условию
    • 2.18. Добавление комментариев в регулярные выражения
    • 2.19. Вставка текстового литерала в замещающий текст
    • 2.20. Вставка совпадения с регулярным выражением в замещающий текст
    • 2.21. Вставка части совпадения с регулярным выражением в замещающий текст
    • 2.22. Вставка контекста совпадения в замещающий текст
  • Глава 3. Программирование с применением регулярных выражений. Языки программирования и диалекты регулярных выражений
    • 3.1. Литералы регулярных выражений в исходных текстах
    • 3.2. Импортирование библиотеки регулярных выражений
    • 3.3. Создание объектов регулярных выражений
    • 3.4. Установка параметров регулярных выражений
    • 3.5. Проверка возможности совпадения в пределах испытуемой строки
    • 3.6. Проверка совпадения со всей испытуемой строкой
    • 3.7. Извлечение текста совпадения
    • 3.8. Определение позиции и длины совпадения
    • 3.9. Извлечение части совпавшего текста
    • 3.10. Извлечение списка всех совпадений
    • 3.11. Обход всех совпадений в цикле
    • 3.12. Проверка полученных совпадений в программном коде
    • 3.13. Поиск совпадения внутри другого совпадения
    • 3.14. Замена всех совпадений
    • 3.15. Замена совпадений с повторным использованием частей совпадений
    • 3.16. Замена совпадений фрагментами, сгенерированными в программном коде
    • 3.17. Замена всех совпадений внутри совпадений с другим регулярным выражением
    • 3.18. Замена всех совпадений между совпадениями с другим регулярным выражением
    • 3.19. Разбиение строки
    • 3.20. Разбиение строки, сохранение совпадений с регулярным выражением
    • 3.21. Построчный поиск
    • 3.22. Конструирование парсера
  • Глава 4. Проверка и форматирование
    • 4.1. Проверка адресов электронной почты
    • 4.2. Проверка и форматирование телефонных номеров
    • 4.3. Проверка международных телефонных номеров
    • 4.4. Проверка дат в традиционных форматах
    • 4.5. Точная проверка дат в традиционных форматах
    • 4.6. Проверка времени в традиционных форматах
    • 4.7. Проверка даты и времени в формате ISO 8601
    • 4.8. Ограничение возможности ввода алфавитноцифровыми символами
    • 4.9. Ограничение длины текста
    • 4.10. Ограничение числа строк в тексте
    • 4.11. Проверка утвердительных ответов
    • 4.12. Проверка номеров социального страхования
    • 4.13. Проверка номеров ISBN
    • 4.14. Проверка почтовых индексов
    • 4.15. Проверка почтовых индексов, используемых в Канаде
    • 4.16. Проверка почтовых индексов, используемых в Великобритании
    • 4.17. Поиск адресов, содержащих номер почтового ящика
    • 4.18. Преобразование имен из формата "имя фамилия" в формат "фамилия, имя"
    • 4.19. Проверка сложности пароля
    • 4.20. Проверка номеров кредитных карт
    • 4.21. Европейские регистрационные номера плательщиков НДС
  • Глава 5. Слова, строки и специальные символы
    • 5.1. Поиск определенного слова
    • 5.2. Поиск любого слова из множества
    • 5.3. Поиск похожих слов
    • 5.4. Поиск любых слов, за исключением указанного
    • 5.5. Поиск любого слова, за которым не следует указанное слово
    • 5.6. Поиск любого слова, которому не предшествует определенное слово
    • 5.7. Поиск близко расположенных слов
    • 5.8. Поиск повторяющихся слов
    • 5.9. Удаление повторяющихся строк
    • 5.10. Совпадение с полными строками, содержащими определенное слово
    • 5.11. Совпадение с полными строками, не содержащими определенное слово
    • 5.12. Удаление ведущих и завершающих пробельных символов
    • 5.13. Замена повторяющихся пробельных символов единственным пробелом
    • 5.14. Экранирование метасимволов регулярных выражений
  • Глава 6. Числа
    • 6.1. Целые числа
    • 6.2. Шестнадцатеричные числа
    • 6.3. Двоичные числа
    • 6.4. Восьмеричные числа
    • 6.5. Десятичные числа
    • 6.6. Удаление ведущих нулей
    • 6.7. Числа в определенном диапазоне
    • 6.8. Шестнадцатеричные числа в определенном диапазоне
    • 6.9. Целые числа с разделителями
    • 6.10. Вещественные числа
    • 6.11. Числа с разделителями групп разрядов
    • 6.12. Добавление разделителей групп разрядов в числа
    • 6.13. Римские числа
  • Глава 7. Исходный код и файлы журналов
    • 7.1. Ключевые слова
    • 7.2. Идентификаторы
    • 7.3. Числовые константы
    • 7.4. Операторы
    • 7.5. Однострочные комментарии
    • 7.6. Многострочные комментарии
    • 7.7. Все комментарии
    • 7.8. Строки
    • 7.9. Строки с экранированными символами
    • 7.10. Литералы регулярных выражений
    • 7.11. Встроенные документы
    • 7.12. Обобщенный формат файла журнала
    • 7.13. Комбинированный формат файлов журналов
    • 7.14. Сообщения о недействительных ссылках в файле журнала вебсервера
  • Глава 8. URL, пути и адреса в Интернете
    • 8.1. Проверка адресов URL
    • 8.2. Поиск адресов URL в тексте
    • 8.3. Поиск в тексте адресов URL, заключенных в кавычки
    • 8.4. Поиск в тексте адресов URL, заключенных в скобки
    • 8.5. Преобразование адресов URL в ссылки
    • 8.6. Проверка строк URN
    • 8.7. Проверка универсальных адресов URL
    • 8.8. Извлечение схемы из адреса URL
    • 8.9. Извлечение имени пользователя из URL
    • 8.10. Извлечение имени хоста из URL
    • 8.11. Извлечение номера порта из URL
    • 8.12. Извлечение пути из адреса URL
    • 8.13. Извлечение строки запроса из URL
    • 8.14. Извлечение фрагмента из URL
    • 8.15. Проверка доменных имен
    • 8.16. Сопоставление с адресами IPv4
    • 8.17. Сопоставление с адресами IPv6
    • 8.18. Проверка путей в Windows
    • 8.19. Выделение элементов путей в Windows
    • 8.20. Извлечение буквы устройства из путей в Windows
    • 8.21. Извлечение имени сервера и разделяемого ресурса из пути в формате UNC
    • 8.22. Извлечение имен папок из путей в Windows
    • 8.23. Извлечение имени файла из пути Windows
    • 8.24. Извлечение расширения имени файла из пути Windows
    • 8.25. Удаление недопустимых символов из имен файлов
  • Глава 9. Разметка и форматы данных. Обработка разметки и данных в различных форматах с помощью регулярных выражений
    • 9.1. Поиск тегов XML
    • 9.2. Заменить тег тегом
    • 9.3. Удаление всех XML-подобных тегов, за исключением и
    • 9.4. Сопоставление с именами XML
    • 9.5. Преобразование простого текста в HTML добавлением тегов и
    • 9.6. Декодирование мнемоник XML
    • 9.7. Поиск определенных атрибутов в XML-подобных тегах
    • 9.8. Добавление атрибута cellspacing в теги , где этот атрибут отсутствует
    • 9.9. Удаление XML-подобных комментариев
    • 9.10. Поиск слов в XML-подобных комментариях
    • 9.11. Изменение разделителя, используемого в файлах CSV
    • 9.12. Извлечение полей CSV из определенного столбца
    • 9.13. Сопоставление с заголовком раздела в файле INI
    • 9.14. Сопоставление с разделом в файле INI
    • 9.15. Сопоставление с парами имя-значение в файле INI
  • Алфавитный указатель

Кадры Все 41

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам