Научитесь пользоваться самыми эффективными средствами из всех доступных!
В этом кратком справочнике представлены самые важные сведения о регулярных выражениях. В книге поэтапно описана процедура составления и проверки регулярных выражений, а основные понятия подробно поясняются и подкрепляются наглядными примерами, взятыми из практики обработки исходного текста. В конце книги приведены решения часто встречающихся практических задач с помощью регулярных выражений, а также кратко описаны их основные реализации в языках программирования и приложениях.
Книга написана простым и доступным языком. Она будет полезна не только начинающим, но и тем, кто уже пользовался регулярными выражениями в своей практике прикладного программирования.
Знатоки регулярных выражений уже давно включили их в свой арсенал средств, чтобы выполнять самые разные, изощренные виды обработки текста и манипулирования практически на любом языке программирования и на любой вычислительной платформе. Но это лишь одна, приятная, сторона дела. А обратная, неприятная, сторона состоит в том, что регулярные выражения слишком долго оставались исключительным средством только для самых технически грамотных пользователей. Но так было до сих пор.
Эта книга поможет вам научиться пользоваться теми регулярными выражениями, которые действительно нужно знать, начиная с поиска простых совпадений с заданным текстом и заканчивая более сложными задачами, включая применение обратных ссылок, условные вычисления и обработку с упреждением.
Прорабатывая материал каждого урока в данной книге, вы методически, систематически и легко научитесь решать практические задачи, используя регулярные выражения.
Регулярные выражения не так сложны, как кажется. Чтобы умело ими пользоваться, достаточно уяснить поставленную задачу и ее наилучшее решение с помощью регулярных выражений.
Ясные, практические примеры реализованные на разных языках
Прорабатывая уроки в данной книге, вы научитесь следующему.
• Читать и понимать регулярные выражения
• Пользоваться обычным текстом и метасимволами для построения эффективных шаблонов поиска
• Извлекать пользу из расширенных возможностей регулярных выражений, включая позиционный поиск и обратные ссылки
• Эффективно выполнять операции поиска и замены во всех профессиональных инструментальных средствах редактирования исходного текста
• Внедрять логически развитые формы обработки текста в веб-приложения
• Находить файлы, используя такие утилиты командной строки, как grep и egrep
• Применять регулярные выражения в таких языках программирования, как JavaScript, Java, PHP, Python, Microsoft .NET и C#, а также в СУБД, включая MySQL и Oracle
• Обрабатывать номера телефонов, почтовые индексы, номера карточек социального страхования, IP-адреса, URL, адреса электронной почты и номера кредитных карточек
Об авторе
Бен Форта занимает пост старшего управляющего в отделении образовательных инициатив компании Adobe Systems, имея за плечами более чем 30-летный опыт разработки, поддержки, обучения и сбыта программных продуктов. Он является автором целого ряда книг из серии Освой... за 10 минут на самые разные темы, включая язык SQL, регулярные выражения, разработку приложений для мобильных устройств на платформах Adobe ColdFusion, Java и Windows.
Author(s): Бен Форта
Edition: 1
Publisher: Диалектика
Year: 2019
Language: Russian
Pages: 192
City: СПб.
Tags: Regular Expressions
Введение
Кому адресована эта книга
От издательства
Урок 1. Введение в регулярные выражения
Потребность в регулярных выражениях
О применении регулярных выражений
Операции поиска с помощью регулярных выражений
Операции замены с помощью регулярных выражений
Так что же такое регулярное выражение?
Применение регулярных выражений
Предварительные замечания
Резюме
Урок 2. Обнаружение совпадения с отдельными символами
Совпадение с обычным текстом
Количество совпадений
Учет регистра букв
Совпадение с любыми символами
Совпадение со специальными символами
Резюме
Урок 3. Совпадение с набором символов
Совпадение с одним из нескольких символов
Применение диапазонов в наборах символов
Совпадение с любыми символами, кроме указанных
Резюме
Урок 4. Применение метасимволов
Еще раз об экранировании
Совпадение с пробельными символами
Совпадение с отдельными типами символов
Совпадение с цифровыми и не цифровыми символами
Совпадение с буквенно-цифровыми и не буквенно-цифровыми символами
Совпадение с пробельными и не пробельными символами
Обозначение шестнадцатеричных и восьмеричных значений
Применение классов символов P0SIX
Резюме
Урок 5.Повторение совпадений
Количество совпадений
Совпадение с одним или несколькими символами
Совпадение с нулевым или большим количеством символов
Совпадение с нулевым или единичным количеством символов
Применение интервалов
Совпадение с конкретным интервалом символов
Совпадение с интервалом символов в заданных пределах
Совпадение хотя бы с заданным интервалом символов
Предотвращение лишних совпадений
Резюме
Урок 6. Совпадение позиций
Назначение границ
Определение границ слова
Определение границ символьных строк
Применение многострочного режима
Резюме
Урок 7. Применение подвыражений
Общее представление о подвыражениях
Группирование подвыражений
Вложение подвыражений
Резюме
Урок 8. Применение обратных ссылок
Общее представление об обратных ссылках
Совпадение с обратными ссылками
Выполнение операций замены
Смена регистра букв
Резюме
Урок 9. Просмотр вперед и назад
Общее представление о позиционном просмотре
Просмотр вперед
Просмотр назад
Сочетание просмотра вперед и назад
Отрицание позиционного просмотра
Резюме
Урок 10.Встраивание условий
Причины для встраивания условий
Применение условий
Условия в обратных ссылках
Условия при позиционном просмотре
Резюме
Урок 11. Решение типичных задач с помощью регулярных выражений
Номера телефонов в Северной Америке
Почтовые индексы США
Канадские почтовые индексы
Почтовые коды Великобритании
Номера карточек социального страхования в США
IP-адреса
URL
Полные URL
Адреса электронной почты
Комментарии к HTML-разметке
Комментарии к сценариям JavaScript
Номера кредитных карточек
Резюме
Приложение. Регулярные выражения в распространенных приложениях и языках
Утилита grep
Язык Java
Язык JavaScript
Платформа Microsoft .NET
Язык Microsoft SQL ServerT-SQL
MicrosoftVisualStudio.NET
База данных MySQL
Язык Oracle PL/SQL
Язык Perl
ЯзыкРНР
Язык Python
Предметный указатель