Оглавление
Предисловие
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.1. Поиск тегов XML
8.2. Заменить тег тегом
8.3. Удаление всех XMLподобных тегов,
за исключением и
8.4. Сопоставление с именами XML
8.5. Преобразование простого текста в HTML
добавлением тегов и
8.6. Поиск определенных атрибутов
в XMLподобных тегах
8.7. Добавление атрибута cellspacing
в теги , где этот атрибут отсутствует
8.8. Удаление XMLподобных комментариев
8.9. Поиск слов в XMLподобных комментариях
8.10. Изменение разделителя, используемого в файлах CSV
8.11. Извлечений полей CSV из определенного столбца
8.12. Сопоставление с заголовком раздела в файле INI
8.13. Сопоставление с разделом в файле INI
8.14. Сопоставление с парами имязначение в файле INI
Алфавитный указатель