Примеры регулярных выражений

Сборник рецептов.

Гойвертс Я., Левитан C. «Регулярные выражения» Символ-Плюс, 2015 год, 704 стр., 2-е издание (31,2 мб. djvu)

В книге приведены примеры регулярных выражений используемые для широкого круга практических задач. Это 140 получивших практическое признание, проверенных рецептов для восьми языков программирования (С#, Java, JavaScript, Peri, PHP, Python, Ruby и VB.NET). Используя приводимые в книге примеры регулярных выражений, разработчики смогут создавать свои проекты и применять данный инструмент быстро решая часто встречающиеся задачи, как: проверку и форматирование ввода пользователя, поиск и обработку слов, спецсимволов и строк текста, работу с числами в различных форматах, обработку адресов URL, работу с файлами и IP-адресами, HTML тегами, XML и с форматами обмена данными.

Книга содержит исчерпывающую информацию необходимую для изучения и применения регулярных выражений. Организована книга так, что её нет необходимости читать с самого начала, а можно начинать изучать только необходимые рецепты (примеры). Вы можете не иметь опыта работы с регулярными выражениями, так как в книге объясняются все самые основные их положения. Изучив книгу, вы сможете эффективнее и быстрее разрабатывать код, грамотно и умело применения регулярные выражения.

ISBN 978-5-93286-221-6
ISBN 978-1-449-31943-4 (англ)

Оглавление книги

1. Введение в регулярные выражения 16
Определение регулярных выражений 16
Поиск с заменой с помощью регулярных выражений 22
Инструменты для работы с регулярными выражениями 25

2. Основные навыки владения регулярными выражениями 49
2.1. Соответствие литеральному тексту 50
2.2. Соответствие непечатным символам 53
2.3. Сопоставление с одним символом из нескольких 56
2.4. Сопоставление с любым символом 62
2.5. Сопоставление в начале и/или в конце строки 65
2.6. Сопоставление с целыми словами 70
2.7. Кодовые пункты Юникода, категории, блоки и алфавиты 74
2.8. Сопоставление с одной из нескольких альтернатив 90
2.9. Группы и сохранение части совпадения 92
2.10. Повторный поиск соответствия с ранее совпавшим текстом 96
2.11. Сохранение и именованные части совпадения 98
2.12. Повторение части регулярного выражения определенное число раз 103
2.18. Выбор минимального или максимального числа повторений 107
2.14. Устранение бесполезных возвратов 111
2.15. Предотвращение бесконтрольных повторений 114
2.16. Проверка соответствия без включения его в общее соответствие 118
2.17. Совпадение с одной из двух альтернатив по условию 127
2.18. Добавление комментариев в регулярные выражения 130
2.19. Вставка текстового литерала в замещающий текст 133
2.20. Вставка совпадения с регулярным выражением в замещающий текст . 136
2.21. Вставка части совпадения с регулярным выражением в замещающий текст 138
2.22. Вставка контекста совпадения в замещающий текст 142

3. Программирование с применением регулярных выражений 144
Языки программирования и диалекты регулярных выражений 144
3.1. Литералы регулярных выражений в исходных текстах 152
3.2. Импортирование библиотеки регулярных выражений 160
3.3. Создание объектов регулярных выражений 162
3.4. Установка параметров регулярных выражений 170
3.5. Проверка возможности совпадения в пределах испытуемой строки 179
3.6. Проверка совпадения со всей испытуемой строкой 18«
3.7. Извлечение текста совпадения 192
3.8. Определение позиции и длины совпадения 199
3.9. Извлечение части совпавшего текста 205
3.10. Извлечение списка всех совпадений 213
3.11. Обход всех совпадений в цикле 219
3.12. Проверка полученных совпадений в программном коде 227
3.13. Поиск совпадения внутри другого совпадения 231
3.14. Замена всех совпадений 237
3.15. Замена совпадений с повторным использованием частей совпадений 245
3.16. Замена совпадений фрагментами, сгенерированными в программном коде 251
3.17. Замена всех совпадений внутри совпадений с другим регулярным выражением 258
3.18. Замена всех совпадений между совпадениями с другим регулярным выражением 260
3.19. Разбиение строки 266
3.20. Разбиение строки, сохранение совпадений с регулярным выражением 275
3.21. Построчный поиск 280
3.22. Конструирование парсера 284

4. Проверка и форматирование 300
4.1. Проверка адресов электронной почты 300
4.2. Проверка и форматирование телефонных номеров 307
4.3. Проверка международных телефонных номеров 314
4.4. Проверка дат в традиционных форматах 316
4.5. Точная проверка дат в традиционных форматах 321
4.6. Проверка времени в традиционных форматах 327
4.7. Проверка даты н времени в формате ISO 8601 330
4.8. Ограничение возможности ввода алфавитно-цифровыми символами 338
4.9. Ограничение длины текста 342
4.10. Ограничение числа строк в тексте 348
4.11. Проверка утвердительных ответов 354
4.12. Проверка номеров социального страхования 356
4.18. Проверка номеров ШВД 358
4.14. Проверка почтовых индексов 367
4.15. Проверка почтовых нвдексов. используемых в Канаде 368
4.16. Проверка почтовых индексов, используемых в Великобритании 369
4.17. Поиск адресов, содержащих номер почтового ящика 371
4.18. Преобразование из формата «имя фамилия» в формат «фамилия, имя» 373
4.19. Проверка сложности пароля 377
4.20. Проверка номеров кредитных карт 387
4.21. Европейские регистрационные номера плательщиков НДС 393

5. Слова, строки и специальные символы 400
5.1. Поиск определенного слова 400
5.2. Поиск любого слова нз множества 403
5.3. Поиск похожих слов 406
5.4. Поиск любых слов, за исключением указанного 411
5.5. Поиск любого слова, за которым не следует указанное слово 413
5.6. Поиск любого слова, которому не предшествует определенное слово .415
5.7. Поиск близко расположенных слов 421
5.8. Поиск повторяющихся слов 429
5.9. Удаление повторяющихся строк 432
5.10. Совпадение с полными строками, содержащими определенное слово 438
5.11. Совпадение с полными строками, не содержащими определенное слово. . 441
5.12. Удаление ведущих и завершающих пробельных символов 442
5.13. Замена повторяющихся пробельных символов единственным пробелом .446
5.14. Экранирование метасимволов регулярных выражений 448

6. Числа 454
6.1. Целые числа 454
6.2. Шестнадцатеричные числа 458
6.3. Двоичные числа 462
6.4. Восьмеричные числа 463
6.5. Десятичные числа 464
6.6. Удаление ведущих нулей 465
6.7. Числа в определенном диапазоне 467
6.8. Шестнадцатеричные числа в определенном диапазоне 474
6.9. Целые числа с разделителями 477
6.10. Вещественные числа 479
6.11. Числа с разделителями групп разрядов 483
6.12. Добавление в числа разделителей групп разрядов 484
6.18. Римские числа 490

7. Исходный код и файлы журналов 494
7.1. Ключевые слова 494
7.2. Идентификаторы 498
7.3. Числовые константы 498
7.4. Операторы 500
7.5. Однострочные комментарии 502
7.6. Многострочные комментарии 502
7.7. Все комментарии 504
7.8. Строки 505
7.9. Строки с экранированными символами 509
7.10. Литералы регулярных выражений 511
7.11. Встроенные документы 514
7.12. Обобщенный формат файла журнала 516
7.13. Комбинированный формат файлов журналов 520
7.14. Сообщения о недействительных ссылках в файле журнала веб-сервера 521

8. URL, пути и адреса в Интернете 525
8.1. Проверка адресов URL 525
8.2. Поиск адресов URL в тексте 529
8.3. Поиск в тексте адресов URL, заключенных в кавычки 532
8.4. Поиск в тексте адресов URL, заключенных в скобки 533
8.5. Преобразование адресов URL в ссылки 536
8.6. Проверка строк URL 587
8.7. Проверка универсальных адресов URL 540
8.8. Извлечение схемы из адреса URL 546
8.9. Извлечение имени пользователя из URL 548
8.10. Извлечение имени хоста на URL 551
8.11. Извлечение номера порта из URL 553
8.12. Извлечение пути из адреса URL 556
8.13. Извлечение строки запроса из URL 560
8.14. Извлечение фрагмента нз URL 561
8.15. Проверка доменных имен 562
8.16. Сопоставление с адресами IPv4 565
8.17. Сопоставление с адресами IPv6 569
8.18. Проверка путей в Windows 585
8.19. Выделение элементов путей в Windows 589
8.20. Извлечение буквы устройства из путей в Windows 594
8.21. Извлечение имен сервера и разделяемого ресурса из пути в формате UNC 595
8.22. Извлечение имен папок из путей в Windows 596
8.23. Извлечение имени файла из пути Windows 599
8.24. Извлечение расширения имени файла из пути Windows 600
8.25. Удаление недопустимых символов из имен файлов 601

9. Разметка и форматы данных 603
Обработка разметки и данных в различных форматах с помощью регулярных выражений 603
9.1. Поиск тегов XML 612
9.2. Заменить тег <b> тегом <strong> 631
9.3. Удаление всех XML -подобных тегов, за исключением <em> и <strong> 635
9.4. Сопоставление с именами XML 639
9.5. Преобразование простого текста в HTML добавлением тегов <p> и <br> 646
9.6. Декодирование мнемоник XML 650
9.7. Поиск определенных атрибутов в XML-подобных тегах 653
9.8. Добавление атрибута cellspacing в теги <table>, где этот атрибут отсутствует 658
9.9. Удаление XML-подобных комментариев 662
9.10. Поиск слов в XML-подобных комментариях 667
9.11. Изменение разделителя, используемого в файлах CSV 672
9.12. Извлечение полей CSV нз определенного столбца 677
9.13. Сопоставление с заголовком раздела в файле INI 681
9.14. Сопоставление с разделом в файле INI 683
9.15. Сопоставление с парами имя-значение в файле INI 684
Алфавитный указатель 687

Скачать техническую литературу бесплатно31,2 мб. djvu

Похожая литература