Сборник содержит более 100 рецептов, которые помогут научиться эффективно оперировать данными и текстом с применением регулярных выражений. Книга знакомит читателя с функциями, синтаксисом и особенностями этого важного инструмента в различных языках программирования: C#, Java, JavaScript, Perl, PHP, Python, Ruby и VB .NET. Предлагаются пошаговые решения наиболее часто встречающихся задач: работа с адресами URL и путями в файловой системе, проверка и форматирование ввода пользователя, обработка текста, а также обмен данными и работа с текстами в форматах HTML, XML, CSV и др. Данное руководство поможет как начинающему, так и уже опытному специалисту расширить свои знания о регулярных выражениях, познакомиться с новыми приемами, узнать все тонкости работы с ними, научиться избегать ловушек и ложных совпадений. Освоив материал этой книги, вы сможете полнее использовать все те возможности, которые предоставляет умелое применение регулярных выражений, и тем самым сэкономить свое время.
Название: Регулярные выражения. Сборник рецептов Автор: Гойвертс Я., Левитан С. Издательство: Символ- Плюс Год: 2010 Страниц: 607 Формат: PDF Размер: 12,9 МБ ISBN: 978-5-93286-181-3 Качество: Отличное
Содержание:
Предисловие 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. Построчный поиск 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. Европейские регистрационные номера плательщиков НДС 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. Римские числа 7. URL, пути и адреса в Интернете 7.1. Проверка адресов URL 7.2. Поиск адресов URL в тексте 7.3. Поиск в тексте адресов URL, заключенных в кавычки 7.4. Поиск в тексте адресов URL, заключенных в скобки 7.5. Преобразование адресов URL в ссылки 7.6. Проверка строк URN 7.7. Проверка универсальных адресов URL 7.8. Извлечение схемы из адреса URL 7.9. Извлечение имени пользователя из URL 7.10. Извлечение имени хоста из URL 7.11. Извлечение номера порта из URL 7.12. Извлечение пути из адреса URL 7.13. Извлечение строки запроса из URL 7.14. Извлечение фрагмента из URL 7.15. Проверка доменных имен 7.16. Сопоставление с адресами IPv4 7.17. Сопоставление с адресами IPv6 7.18. Проверка путей в Windows 7.19. Выделение элементов путей в Windows 7.20. Извлечение буквы устройства из путей в Windows 7.21. Извлечение имени сервера и разделяемого ресурса из пути в формате UNC 7.22. Извлечение имен папок из путей в Windows 7.23. Извлечение имени файла из пути Windows 7.24. Извлечение расширения имени файла из пути Windows 7.25. Удаление недопустимых символов из имен файлов 8. Разметка и обмен данными 8.1. Поиск тегов XML 8.2. Заменить тег <b> тегом <strong> 8.3. Удаление всех XML-подобных тегов, за исключением <em> и <strong> 8.4. Сопоставление с именами XML 8.5. Преобразование простого текста в HTML добавлением тегов <p> и <br> 8.6. Поиск определенных атрибутов в XML-подобных тегах 8.7. Добавление атрибута cellspacing в теги <table>, где этот атрибут отсутствует 8.8. Удаление XML-подобных комментариев 8.9. Поиск слов в XML-подобных комментариях 8.10. Изменение разделителя, используемого в файлах CSV 8.11. Извлечение полей CSV из определенного столбца 8.12. Сопоставление с заголовком раздела в файле INI 8.13. Сопоставление с разделом в файле INI 8.14. Сопоставление с парами имя-значение в файле INI Алфавитный указатель